C# 动态GridView AllowPaging在数据绑定时返回错误

C# 动态GridView AllowPaging在数据绑定时返回错误,c#,linq,gridview,data-binding,C#,Linq,Gridview,Data Binding,我已经在网页上的占位符中添加了GridView,并将其数据源设置为linq查询。问题是当控件通过gv.DataBind()运行时它会在我的脸上爆炸,返回一个对象未设置blablabla错误 堆栈跟踪看起来像 在System.Web.UI.WebControls.GridView.get_StateFormatter()中 位于System.Web.UI.WebControl.GridView.BuildCallbackArgument(Int32 pageIndex) 位于System.Web.

我已经在网页上的占位符中添加了GridView,并将其数据源设置为linq查询。问题是当控件通过
gv.DataBind()运行时它会在我的脸上爆炸,返回一个对象未设置blablabla错误

堆栈跟踪看起来像

在System.Web.UI.WebControls.GridView.get_StateFormatter()中 位于System.Web.UI.WebControl.GridView.BuildCallbackArgument(Int32 pageIndex) 位于System.Web.UI.WebControl.GridView.CreateNumericPager(TableRow行、PagedDataSource PagedDataSource、Boolean addFirstLastPageButtons) 位于System.Web.UI.WebControl.GridView.InitializePage(GridViewRow行,Int32列span,PagedDataSource PagedDataSource)

我的代码是

var query = from list in dc.mytable
            select list;

gv.DataSource = query.ToList();
gv.DataBind();

在四处寻找解决方案一段时间后,我提出了一个有效的建议,如果您需要,我将与您分享。不幸的是,我关闭了浏览器,不记得在哪里看到它,这是为了感谢解决我问题的那个人

我把它贴在这里是因为我在这里没有找到任何解决我问题的答案

出现此问题的原因是,由于GridView是动态添加的,因此还没有设置StateFormatter(或类似的东西),因此解决此问题所需的全部工作是为Load事件添加事件处理程序并移动gv.DataBind();在那里:


工作起来很有魅力:)

这是个问题吗?如果不是的话,你可以把它作为一个问题发布,然后再发布你的答案,这样会更有帮助!感谢您发布此答案:)
gv.DataSource = query;

gv.Load += (s, e) => {
  gv.DataBind();
}