asp.net GridView
에 이상한 문제가 있습니다. 나는 LinqDataSource
에 묶여진 GridView
을 가지고 있습니다. GridView
님의 행 삭제 이벤트에서 데이터베이스에서 행을 삭제하려고하는데 그리드가 새로 고쳐지지 않습니다 (데이터 소스에 바인딩 한 후에도).이벤트 삭제 후 GridView가 새로 고쳐지지 않습니다.
중단 점을 넣으면 LinqDS_Selecting
이벤트 이후에 OnRowDeleting
이벤트가 발생하는 것을 확인할 수 있습니다. 그러나 그것은 삭제 이벤트 후에 다시 해고되지 않았습니다! 이유가 될 수 있을까요? 내가 도대체 뭘 잘못하고있는 겁니까?
도와주세요. 사전에 많은 감사드립니다.
에서 .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 이벤트가 발생하고 실제로 제거하려는 값이 데이터베이스에서 제거 되었습니까? –