我有一个GridView我的GridView有一列包含一个“选项”列.此列包括传统的CommandField选项(编辑,删除等).当使用CommandField时,我有代码设置工作.但是,我需要做一些自定义格式化,所以我需要将CommandField转换为TemplateField.
我的问题是,如何从TemplateField中的各种LinkButton元素触发OnRowCommand,OnRowEditing,OnRowDeleting和OnRowUpdating事件?
谢谢!
解决方法
所有您需要做的是将LinkButton的CommandName属性设置为模板列中的“编辑”进行编辑,删除“删除”和“更新”进行更新.这将分别触发GridView RowEditing,RowDeleting和RowUpdating事件.要触发RowCommand事件,您需要设置GridView控件的OnRowCommand属性.
<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating"> <Columns> <asp:TemplateField> <ItemTemplate> <!--To fire the OnRowEditing event.--> <asp:LinkButton ID="lbEdit" runat="server" CommandName="Edit" Text="Edit"> </asp:LinkButton> <!--To fire the OnRowDeleting event.--> <asp:LinkButton ID="lbDelete" runat="server" CommandName="Delete" Text="Delete"> </asp:LinkButton> <!--To fire the OnRowUpdating event.--> <asp:LinkButton ID="lbUpdate" runat="server" CommandName="Update" Text="Update"> </asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>