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