【问题标题】:asp net repeater checkboxasp 网络中继器复选框
【发布时间】:2013-10-14 21:44:12
【问题描述】:

我在中继器中使用复选框,我怎么知道哪个 OnCheckedChanged 中的复选框已更改? 我试图设置 id 然后复选框绑定数据,但是 不起作用。希望有人可以帮助我

谢谢 /垫子

【问题讨论】:

    标签: asp.net checkbox repeater


    【解决方案1】:

    检查sender(Event Target)参数

    protected void Chb_Changed(object sender, EventArgs e)
    {
        if (sender != null)
        {
          CheckBox cb=(CheckBox)sender;
    
          string clickedCheckBoxID=cb.ID;
        }
    }
    

    【讨论】:

      【解决方案2】:

      尝试关注。请注意,我们还可以在某个隐藏字段中绑定一些主列,比如“ID”列,然后在后面输入代码。

      ASPX 端

      <asp:Repeater ID="Repeater1" runat="server" DataSourceID="sqldtasource" >
             <ItemTemplate>
             <asp:CheckBox ID="chk" runat="server" AutoPostBack="true" Text='<%#Bind("Name")%>' OnCheckedChanged="Chb_Changed"/>
              <asp:HiddenField ID="hdn_ID" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "ID")  %>'/>
             </ItemTemplate>
       </asp:Repeater>
      

      代码背后:

      protected void Chb_Changed(object sender, EventArgs e)
          {
              if (sender != null)
              {
                  try
                  {
                       var hdnID = (HiddenField)checkBox.NamingContainer       .FindControl("hf_ID");
                      if(hdnID != null)
                       {
                         string primaryFieldValue = hdnID.Value;
                       }
      
                      if (((CheckBox)sender).Checked)
                      {
                          Response.Write(((CheckBox)sender).Text + " is checked");
                      }
                  }
                  catch { 
      
                        }
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多