用GridView里的服务控件事件,同时获取GridView内的某个字段值

本文介绍如何在ASP.NET的GridView中使用CheckBox控件,并在CheckBox状态改变时将所在行的相关ID传递到服务器端进行处理。通过自定义CheckBox并设置其属性,在服务器端通过事件获取这些属性值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:在GridView里面的一个CheckBox控件,当点击该服务控件的时候能把该行的一个ID传到后台去,如下在前台自定义一个类似变量'parm_value'然后绑定一个字段在这个变量上

前台:

<asp:TemplateField>
  <ItemTemplate>
<asp:CheckBox ID="chk" runat="server" AutoPostBack="true" OnCheckedChanged="chk_CheckedChanged"  parm_value='<%#Eval("data2") %>' />
 </ItemTemplate>
 <HeaderTemplate>
<asp:CheckBox ID="Header_chk" runat="server" AutoPostBack="true" OnCheckedChanged="chk_all_CheckedChanged" />
 </HeaderTemplate>
 <ItemStyle HorizontalAlign="Center" />
  </asp:TemplateField>

后台:

后台取该控件事件的Attributes['parm_value']的属性,就得到参数了

protected void chk_CheckedChanged(object sender, EventArgs e)
{
    CheckBox chk = ((CheckBox)sender);
    string chk_value = ((CheckBox)sender).Attributes["parm_value"];
    if (chk.Checked)
    {
    if(!chk_dic.ContainsKey(chk_value.Trim()))
     {
         chk_dic.Add(chk_value.Trim(),"");
     }   
    }
    else
    {
         if(chk_dic.ContainsKey(chk_value.Trim()))
         {
         chk_dic.Remove(chk_value.Trim());
         }   
    }  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那小x的传说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值