用于ASP.NET转发器控件中的图像的复选框

时间:2012-08-22 06:09:24

标签: c# asp.net

我正在使用ASP.NET。我正在使用转发器来显示图像,我也使用每个图像的复选框。

如何根据图片ID选择单个图像并更新其值?

我的代码是:

 <asp:Repeater ID="Repeater1" runat="server">
      <ItemTemplate>
           <img ID="ImageZoom" runat="server" 
                src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> '
                style="display: inline; height:auto; left: 0pt; top: 0pt;
                width:auto;" />
           <asp:CheckBox ID="CheckBox1" runat="server" />
      </ItemTemplate>
</asp:Repeater>

1 个答案:

答案 0 :(得分:0)

您可以使用javascript来实现这一点,这样的事情可以解决这个问题:

没有jQuery

<asp:Repeater ID="Repeater1" runat="server">
      <ItemTemplate>
           <img ID="ImageZoom" runat="server"
                onclick="imageClickHandler(this,event);" 
                src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> '
                style="display: inline; height:auto; left: 0pt; top: 0pt;
                width:auto;" />
           <asp:CheckBox ID="CheckBox1" runat="server" />
      </ItemTemplate>
</asp:Repeater>

function imageClickHandler(s,e){
//do something with the current image that is being clicked on.
//The parameter 's' is a reference to the caller of this method and the 'e' contains
//event data  
}

使用jQuery

如果你使用jQuery,你也可以尝试这样的事情:

<asp:Repeater ID="Repeater1" runat="server">
      <ItemTemplate>
           <img ID="ImageZoom" runat="server"
                class="handled" 
                src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> '
                style="display: inline; height:auto; left: 0pt; top: 0pt;
                width:auto;" />
           <asp:CheckBox ID="CheckBox1" runat="server" />
      </ItemTemplate>
 </asp:Repeater>

<script type="text/javascript" src="jquery-1.7.3"></script>
$(function(){
  $("img.handled").click(function(){
    //alerts the id of the image thats being clicked on.
    alert($(this).attr("id"));
  });
});