Select .net 由 jquery 中包含的字符串控制

Select .net control by string containing in jquery

我在 asp.net 工作,我有两个像这样的图像按钮:

<asp:ImageButton runat="server" ID="Hosciz" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla" />

<asp:ImageButton runat="server" ID="Hosciz2" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla again" />

如您所见,两个图像按钮 ID 都包含 'Hosciz' 字符串,所以我想知道我是否可以使用包含 ID 的 .each() 函数。我知道有类似

$("div[id*='Hosciz']").each(function(){.....});

有没有一种方法可以使用图像按钮或其他 .net 控件来代替 html 控件(例如 div)?我的意思是应该有,但是怎么办?

我知道我可以解决这个问题

$("#<%=Hosciz.ClientID%>").click(function(){ 'do whatever you want' });

$("#<%=Hosciz2.ClientID%>").click(function(){ 'do whatever you want' });

但正如我所说,我只是想知道是否有办法使用 each() 函数来做到这一点?

在图像上使用 class 属性:

<asp:ImageButton runat="server" CssClass="hosciz" ID="Hosciz" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla" />
<asp:ImageButton runat="server" CssClass="hosciz" ID="Hosciz2" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla again" />

并在 jquery 中有一个 class 选择器

$(".hosciz").each(function(){.....}); 

$("div.hosciz").each(function(){.....}); 

它的额外好处是允许您在 css 中为图像使用通用样式。

或者,使用 ClientIDMode="Static",以确保您在 html 中的 ID 与 asp ClisentID 匹配。这当然会带来其他问题 - 您需要确保 ID 是唯一的,但 html 选择器会带来性能提升。

<asp:ImageButton runat="server" ClientIDMode="Static"  ID="Hosciz" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla" />
<asp:ImageButton runat="server" ClientIDMode="Static" ID="Hosciz2" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla again" />

并在 jquery、

$("#Hosciz, #Hosciz2").each(function(){.....});