1
我有一個Gridview
和方法從數據庫和gridview中刪除記錄。 我的問題是,當用戶單擊Gridview
中的刪除按鈕時,記錄將從數據庫中刪除,但GridView
不顯示此更新(不刷新)。如果用戶然後刷新導致表單重新提交的頁面,則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>
這裏是OnRowDeleting方法。
protected void gvShowQuestionnaires_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int questionnaireID = (int)gvShowQuestionnaires.DataKeys[Convert.ToInt32(e.RowIndex)].Value;
GetData.DeleteQuestionnaire(questionnaireID); // Deletes Questionniare from database
gvShowQuestionnaires.DataSource = DT;
gvShowQuestionnaires.DataBind();
}
是的,這是行不通的。然而一件小事。我有一個asp:標籤,當delete方法被觸發時顯示。但是,重定向頁面不顯示刪除確認標籤?只有在觸發刪除方法時,如何才能在頁面上重新加載標籤? – HGomez90
向頁面添加URL參數,而不是在頁面加載方法中查找該參數,並在URL參數存在時啓用標籤。 – m0sa
謝謝。謝謝 – HGomez90