我在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屬性的值。