我在datagrid用到模板列,其中模板列中有时候用到textbox按钮,如果我有两个或者更多的textbox按钮,我应该如何捕获这个事件,或者是我在模板列中用到了dropdownlist或者radio这种控件,我应该如何捕获这些事件?
1.<ItemTemplate>
<asp:LinkButton id="EditLB" runat="server" OnClick="LBClick" CommandName="EDIT">编辑</asp:LinkButton><FONT face="宋体"> </FONT> <asp:LinkButton id="DeleteLB" runat="server" OnClick="LBClick" CommandName="DELETE">删除</asp:LinkButton>
</ItemTemplate>
在.cs文件中添加
public void LBClick(object source, System.EventArgs e )
{
//你的处理代码
}
2.为模板列中的控件设定CommandName和CommandArgument
ItemCommand事件中判别参数传递的CommandName确定是哪个控件触发,CommandArgument存放触发命令的参数(比如记录索引号……)
3.在DataGrid的ItemCreated事件里,DropDownList1.SelectedIndexChanged+=new System.EventHandler(this.DropDownList_SelectedIndexChanged);
DropDownList_SelectedIndexChanged是你自己写的方法
4.用该按钮的OnComand属性。例如:
OnCommand="DelRecord" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"publishinfoid")%>'
在DataGrid的OnItemCommand事件中写
switch(e.CommandName)
{
case "cmdname1":
.....
break;
case "???":
....
break;
default:break;
}
cmdname1是你那个按钮的CommandName属性的值。