asp.net で奇妙な問題が発生していGridView
ます。にGridView
バインドされていLinqDataSource
ます。の行GridView
削除イベントで、データベースから行を削除していますが、グリッドは更新されません (データソースに BINDING した後でも)。
OnRowDeleting
ブレークポイントを設定すると、イベントの後にイベントが発生することがわかりましたLinqDS_Selecting
。しかし、削除イベントの後に再び発生することはありません! それが理由でしょうか?私は何を間違っていますか?
誰か助けてください。事前に感謝します。
.aspx ファイル:
<asp:LinqDataSource
ID="LinqDS"
runat="server"
OnSelecting="LinqDS_Selecting">
</asp:LinqDataSource>
<asp:GridView
DataSourceID = "LinqDS"
ID = "gv1"
runat = "server"
DataKeyNames = "InstructionId"
EnableViewState = "false"
OnRowDataBound = "gv1_RowDataBound"
OnRowDeleting = "gv1_RowDeleting"
OnRowCommand = "gv1_RowCommand"
PageSize = "30" >
<Columns>
<!-- My colums --->
</Columns>
</asp:GridView>
.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LinqDS_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
// my linq to sql query
var query = from .... .... ;
e.Result = query;
}
protected void gv1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int instructionId = (int)gv1.DataKeys[e.RowIndex].Value;
/// my delete logic
CTX.SubmitChanges();
gv1.DataBind();
}