C# GridView。我需要推一下;编辑";链接2次以启动更新

C# GridView。我需要推一下;编辑";链接2次以启动更新,c#,asp.net,gridview,C#,Asp.net,Gridview,如何修复它 我在Page_Load、Page_PreRender和markup中声明了处理程序。它不能正常工作 代码: 好吧,我试过你的代码,得到了和你一样的问题。原因是您正在Page_Load中手动调用Databind,但没有重新附加数据源。您需要在编辑事件处理程序(以及其他事件处理程序)中重新附加数据源 如果您不想手动执行,则需要使用数据源控件。好的,我尝试了您的代码,但遇到了与您相同的问题。原因是您正在Page_Load中手动调用Databind,但没有重新附加数据源。您需要在编辑事件处理

如何修复它


我在Page_Load、Page_PreRender和markup中声明了处理程序。它不能正常工作

代码:


好吧,我试过你的代码,得到了和你一样的问题。原因是您正在Page_Load中手动调用Databind,但没有重新附加数据源。您需要在编辑事件处理程序(以及其他事件处理程序)中重新附加数据源


如果您不想手动执行,则需要使用数据源控件。

好的,我尝试了您的代码,但遇到了与您相同的问题。原因是您正在Page_Load中手动调用Databind,但没有重新附加数据源。您需要在编辑事件处理程序(以及其他事件处理程序)中重新附加数据源


如果您不想手动执行此操作,则需要使用数据源控件。

恐怕还需要更多的工具来解决此问题。你能发布一些代码吗?恐怕还需要更多的代码来解决这个问题。你能发布一些代码吗?我在Page_Load、Page_PreRender和markup中声明了处理程序。我这样做了您的标记只显示在rowdeleding=“DataViewRowdeleding”和AutoGenerateDeleteButton=“True”上。只需像我所做的那样将其余部分添加到标记中,并从Page_Load和Page_PreRender中删除它们,然后查看是否存在相同的问题。如果你是,那么你将需要显示更多的代码。你必须相信我。我做到了。这是我做的第一件事。现在我再试一次。我在Page_Load、Page_PreRender和markup中声明了处理程序。我这样做了您的标记只显示在rowdeleding=“DataViewRowdeleding”和AutoGenerateDeleteButton=“True”上。只需像我所做的那样将其余部分添加到标记中,并从Page_Load和Page_PreRender中删除它们,然后查看是否存在相同的问题。如果你是,那么你将需要显示更多的代码。你必须相信我。我做到了。这是我做的第一件事。现在我再试一次。
<asp:GridView ID="tableResults" runat="server" DataMember="Table" EnableModelValidation="True"
    CssClass="GridViewStyle" OnRowDeleting="dataViewRowDeleting" AutoGenerateDeleteButton="True">
    <HeaderStyle CssClass="GridViewHeaderStyle" />
    <RowStyle CssClass="GridViewRowStyle" />
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:HyperLink ID="HyperLink1" runat="server" Text="Скачать объект" NavigateUrl='<%#"objects/" + Eval("Идентификатор") %>'></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
tableResults.AutoGenerateEditButton = true;
tableResults.RowEditing += new GridViewEditEventHandler(tableResults_RowEditing);
tableResults.RowUpdating += new GridViewUpdateEventHandler(tableResults_RowUpdating);
tableResults.RowCancelingEdit += new GridViewCancelEditEventHandler(tableResults_RowCancelingEdit);
protected void tableResults_RowEditing(object sender, GridViewEditEventArgs e)
{
    tableResults.EditIndex = e.NewEditIndex;
    PopulateTableResults();   // In this method I attach the datasource and bind
}