UpdatePanel 내에서 페이징 기능이있는 GridView를 구현하려고합니다. 첫 번째 클릭을하면 모든 것이 효과적입니다. 페이징이 시작되고 다음 데이터 집합이 빠르게로드됩니다. 그러나 다른 데이터 페이지에 대한 링크를 클릭하면 다음 오류가 발생합니다.ASP.Net GridView UpdatePanel 페이징이 두 번째 클릭시 오류 발생
Sys.WebForms.PageRequestManagerServerErrorException : 서버에서 요청을 처리하는 동안 알 수없는 오류가 발생했습니다. 서버에서 반환 된 상태 코드이었다 : 12,030
영문 코드
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<contenttemplate>
<asp:GridView ID="GridView1" runat="server" CellPadding="2"
AllowPaging="true" AllowSorting="true" PageSize="20"
OnPageIndexChanging="GridView1_PageIndexChanging"
OnSorting="GridView1_PageSorting"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="ActivityLogID" HeaderText="Activity Log ID" SortExpression="ActivityLogID" />
<asp:BoundField DataField="ActivityDate" HeaderText="Activity Date" SortExpression="ActivityDate" />
<asp:BoundField DataField="ntUserID" HeaderText="NTUserID" SortExpression="ntUserID" />
<asp:BoundField DataField="ActivityStatus" HeaderText="Activity Status" SortExpression="ActivityStatus" />
</Columns>
</asp:GridView>
</contenttemplate>
</asp:UpdatePanel>
코드
private void bindGridView(string sortExp, string sortDir)
{
SqlCommand mySqlCommand = new SqlCommand(sSQL, mySQLconnection);
SqlDataAdapter mySqlAdapter = new SqlDataAdapter(mySqlCommand);
mySqlAdapter.Fill(dtDataTable);
DataView myDataView = new DataView();
myDataView = dt.DefaultView;
if (sortExp != string.Empty)
{
myDataView.Sort = string.Format("{0} {1}", sortExp, sortDir);
}
GridView1.DataSource = myDataView;
GridView1.DataBind();
if (mySQLconnection.State == ConnectionState.Open)
{
mySQLconnection.Close();
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
bindGridView();
}
protected void GridView1_PageSorting(object sender, GridViewSortEventArgs e)
{
bindGridView(e.SortExpression, sortOrder);
}
두 번째 클릭에 오류의 원인이 무엇인지에 대한 단서를
뒤에?
sSQL 값과 연결 개체는 bindGridView 함수 내에서 정의되고 빌드됩니다. 난 그냥 게시 된 코드 밖으로 왼쪽 ... 나는 bindGridView 함수 안에 데이터 테이블의 선언을 이동했지만, 도움이되지 않았다. 또한 업데이트 패널과 gridview를 제외하고 페이지에서 모든 것을 제거했지만 완전히 렌더링 또는 호출 호출 완료에 문제가있는 것 같습니다 – joe
ViewState를 이동합니까? 예를 들어 페이지의 아래쪽으로 이동하여? 일반적으로 어떤 모듈에서든 변경하고 viewstate를 좋게 만들지 않으면 updatePanel에서 두 번째로 얻지 못합니다 - 그렇다면 몇 가지 트릭을 말해주십시오. – Aristos