次のような単純なグリッドビューを使用しています。
<asp:GridView ID="grdViewData" runat="server" Width="98%" DataKeyNames="RecordID" OnSelectedIndexChanged="grdViewData_SelectedIndexChanged"
onrowcommand="grdViewData_RowCommand">
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="lnkEdit" runat="server"
CausesValidation="False" CommandName="Select" OnClientClick="window.scroll(0,0)"
Text="Edit"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="lnkDelete" runat="server"
CausesValidation="False" CommandName="Delete"
OnClientClick="return confirm('Do you want to delete this record?');" Text="Delete" CommandArgument="<%# Container.DataItemIndex %>"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns> </asp:GridView>
gridview でレコードを更新するには、gridview_SelectedIndexChanged メソッドを使用します。レコードを削除するには、次のように gridview_RowCommand (if e.CommandName == "Delete") メソッドを使用します。
protected void grdViewData_SelectedIndexChanged(object sender, EventArgs e)
{
// Code Working properly Controls on page also getting updated
}
protected void grdViewData_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
// Code to Delete Record (Working Properly, Record being deleted.)
// Here Onwards code not working
Message.Text = "Data Deleted Successfully..";
ErrorMessage.Text = "";
}
}
レコードを更新する場合、更新後、適切に機能しているページ上のコントロールを更新するコードがいくつかありますが、レコードを削除する場合、レコードは削除されますが、ページ上のコントロールは更新されません。デバッガーを接続すると、コードは完全に実行されますが、コントロールは更新されません。
私は1日グーグルで検索してきましたが、別の方法を選択するのではなく、その理由を知る必要があります.