ASP.NET GridView CommandField作为TemplateField

我有一个GridView我的GridView有一列包含一个“选项”列.此列包括传统的CommandField选项(编辑,删除等).当使用CommandField时,我有代码设置工作.但是,我需要做一些自定义格式化,所以我需要将CommandField转换为TemplateField.

我的问题是,如何从TemplateField中的各种LinkBut​​ton元素触发OnRowCommand,OnRowEditing,OnRowDeleting和OnRowUpdating事件?

谢谢!

解决方法

所有您需要做的是将LinkBut​​ton的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>

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...