C# 表单重新提交将删除下一个GridView行
我有一个C# 表单重新提交将删除下一个GridView行,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个Gridview和OnRowDeleting方法,用于从数据库和Gridview中删除记录。 我的问题是,当用户单击Gridview中的delete按钮时,记录将从数据库中删除,但Gridview不显示此更新(不刷新)。如果用户随后刷新页面,导致表单重新提交,则GridView将删除原始删除行下方的行,如果再次刷新页面,则依此类推 我怎样才能防止这种情况发生 以下是我的gridview: <asp:GridView runat="server" ID="gvShowQuestion
Gridview
和OnRowDeleting
方法,用于从数据库和Gridview中删除记录。
我的问题是,当用户单击Gridview
中的delete按钮时,记录将从数据库中删除,但Gridview
不显示此更新(不刷新)。如果用户随后刷新页面,导致表单重新提交,则GridView
将删除原始删除行下方的行,如果再次刷新页面,则依此类推
我怎样才能防止这种情况发生
以下是我的gridview:
<asp:GridView runat="server" ID="gvShowQuestionnaires" HeaderStyle-CssClass="table_header" CssClass="view" AlternatingRowStyle-CssClass="alt" AlternatingRowStyle-BackColor="#f3f4f8" AutoGenerateColumns="False"
DataKeyNames='QuestionnaireID' OnRowDeleting="gvShowQuestionnaires_RowDeleting" OnRowEditing="gvShowQuestionnaires_RowEdit" OnSelectedIndexChanged="gvShowQuestionnaires_SelectedIndexChanged" FooterStyle-CssClass="view_table_footer" >
<Columns>
<asp:BoundField DataField="QuestionnaireID" HeaderText="ID" HeaderStyle-Width="80px" ItemStyle-CssClass="bo"></asp:BoundField>
<asp:BoundField DataField="QuestionnaireName" HeaderText="Questionnaire Name" />
<asp:ButtonField CommandName="select" ButtonType="Link" Text="hello" />
<asp:CommandField HeaderText="Options" CausesValidation="true" ShowDeleteButton="True" ShowEditButton="true" EditText="Edit">
</asp:CommandField>
</Columns>
</asp:GridView>
删除行后,您始终可以将用户重定向到初始页面,例如,在RowDeleted处理程序中
Response.Redirect(Request.RawUrl);
这应该可以工作,因为删除操作是当前.aspx页面的POST命令。是,这可以工作。然而,有一件小事。我有一个asp:label,在触发delete方法时显示。但是,重定向页面时不显示删除确认标签?如何仅在触发delete方法时在页面重新加载时显示标签?向页面添加URL参数,然后在页面加载方法中查找该参数,并在URL参数存在时启用标签。
Response.Redirect(Request.RawUrl);