Asp.net 网格中的onrow命令未启动?

Asp.net 网格中的onrow命令未启动?,asp.net,Asp.net,我在网格中工作了很长一段时间,面临着一个问题 在网格中,模板字段具有用于编辑和删除的链接按钮。OnRowCommand事件未在网格中触发。重要的一点是,如果我自动生成“编辑”或“删除”按钮,将触发其RowCommand事件 这是我的aspx代码: <asp:GridView ID="gvContact" runat="server" AllowPaging="True" AllowSorting="True" DataKeyNames="MailId" AutoGener

我在网格中工作了很长一段时间,面临着一个问题

在网格中,模板字段具有用于编辑和删除的链接按钮。OnRowCommand事件未在网格中触发。重要的一点是,如果我自动生成“编辑”或“删除”按钮,将触发其RowCommand事件

这是我的aspx代码:

 <asp:GridView ID="gvContact" runat="server" AllowPaging="True" AllowSorting="True"
        DataKeyNames="MailId" AutoGenerateColumns="False" CssClass="ContactsGridViewStyle"
        GridLines="None" OnRowEditing="gv_RowEdit" OnRowDataBound="gv_RowDataBound" OnRowCancelingEdit="gv_CancellingEdit"
        OnRowUpdating="gv_RowUpdating" Width="600px" OnPageIndexChanging="gv_PageChanging"
        OnRowCommand="gv_RowCommand" EmptyDataText="No Record found" EmptyDataRowStyle-ForeColor="Red"
        EmptyDataRowStyle-HorizontalAlign="Center">
        <RowStyle CssClass="RowStyle" />
        <EmptyDataRowStyle CssClass="EmptyRowStyle" />
        <PagerStyle CssClass="PagerStyle" />
        <SelectedRowStyle CssClass="SelectedRowStyle" />
        <HeaderStyle CssClass="HeaderStyle" />
        <EditRowStyle CssClass="EditRowStyle" />
        <AlternatingRowStyle CssClass="AltRowStyle" />
        <Columns>
        <asp:TemplateField HeaderText="Name">
                <EditItemTemplate>
                    <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox><br />
                    <asp:RequiredFieldValidator runat="server" ID="rfvName" ControlToValidate="txtName"
                        Display="Dynamic" Text="Name is a required field"></asp:RequiredFieldValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lblName" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Email Id">
                <EditItemTemplate>
                    <asp:TextBox ID="txtMessageTo" runat="server" Text='<%# Bind("MessageTo") %>'></asp:TextBox><br />
                    <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator2" ControlToValidate="txtMessageTo"
                        Display="Dynamic" Text="Email is a required field"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Display="Dynamic"
                        Text="Email address is Invalid" SetFocusOnError="true" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
                        ControlToValidate="txtMessageTo">                    
                    </asp:RegularExpressionValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lblMessageTo" runat="server" Text='<%# Bind("MessageTo") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:ImageButton runat="server" ID="ibtn" CommandArgument='<%#Eval("RowId")%>' CommandName="EEE"
                        ImageUrl="~/Images/cross.png" />
                    <asp:LinkButton ID="lbtnEdit" runat="server" Text="Edit" CommandArgument='<%# Eval("RowId")%>'
                        CommandName="EE"></asp:LinkButton>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:LinkButton runat="server" ID="lbtnUpdate" Text="Update" CommandName="UU"></asp:LinkButton>
                    <asp:LinkButton runat="server" ID="lbtnCancel" Text="Cancel" CommandName="CC"></asp:LinkButton>
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="lbtnDelete" runat="server" Text="Delete" CommandArgument='<%# Eval("RowId")%>'
                        CommandName="DD"></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
在CS文件中,我正在绑定网格!Page.IspostBack


请提供任何指导。

您不能添加!Page.IsPostBack条件并将网格绑定放入

protected override void OnInit() { 
   MyGrid.DataBind(); 
   base.OnInit();
}
如果在代码中绑定网格而不是对象/Sql/Entity |数据源,则必须将其添加到OnInit中;因为这样,它所需要的一切都将注册到ViewState中


注意:对不起,我说的是英语,我通常说法语。

您不能添加!Page.IsPostBack条件并将网格绑定放入

protected override void OnInit() { 
   MyGrid.DataBind(); 
   base.OnInit();
}
如果在代码中绑定网格而不是对象/Sql/Entity |数据源,则必须将其添加到OnInit中;因为这样,它所需要的一切都将注册到ViewState中


注:对不起我的英语,我通常说法语。

我自己花了一整天的时间来解决这个问题;这个问题似乎在我的谷歌查询中经常出现,所以希望这个答案会有帮助,即使这个问题本身已经很老了


这个问题是由页面上的验证程序引起的,比如我自己花了一整天的时间来解决这个问题;这个问题似乎在我的谷歌查询中经常出现,所以希望这个答案会有帮助,即使这个问题本身已经很老了


这个问题是由页面上的验证程序引起的,比如

你能发布你的页面代码吗?你能发布你的页面代码吗?这对我帮助很大!我花了大约6个小时试图解决一个bug,在这个bug中,事件没有被触发,我看到的所有答案都被裁判为禁用的viewstate或未设置onrow命令。这对我帮助很大!我花了大约6个小时试图解决一个bug,在这个bug中,事件没有被触发,我看到的所有答案都被判定为禁用的viewstate或onrow命令未设置。