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

来源:互联网 发布:淘宝商品特点 编辑:程序博客网 时间:2024/06/05 03:31

要求:在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());
         }   
    }  
}

原创粉丝点击