我遇到一個奇怪的問題,與asp.net GridView
。我有GridView
,它綁定到LinqDataSource
。在GridView
的行刪除事件中,我正在刪除數據庫中的行,但網格未刷新(即使在綁定到數據源之後)。刪除事件後GridView不刷新
當我放置一個斷點時,我可以看到在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();
}
難道'gv1_RowDeleting'解僱?如果是的話,也許你還需要製作'LinqDS.DataBind()'? – Aristos
gv1_RowDeleting事件是否觸發並且是您試圖從數據庫中實際刪除的值? –