0

错误信息

无法加载视图状态。正在加载视图状态的控制树必须与在先前请求期间用于保存视图状态的控制树匹配。例如,动态添加控件时,在回发过程中添加的控件必须与 cont 的类型和位置相匹配

问题是在GridView上第二次单击时没有调用Pageload函数。GridView列是链接按钮。它有多个带有链接按钮的列。单击 gridview 时,它将重定向到链接按钮功能。

对于第一次单击它的工作正常,问题在于第二次单击。

如果页面加载被调用,我的问题就解决了。
我尝试通过谷歌搜索,我无法找到解决方案。帮帮我。

4

3 回答 3

0

如果你想在每次页面重新加载时执行一段代码,那么不要写如下代码

if(!isPostBack)
{ //code }

不要写在 !IsPostBack

于 2013-02-15T06:24:53.960 回答
0

如果您不需要它,请尝试将托管您的控件的 PlaceHolder 设置为 EnableViewState="False",否则请检查Failed to load viewstate。视图状态被加载到的控制树

于 2013-02-15T07:28:41.680 回答
0

您提到的错误发生在您动态添加控件时。似乎您在第一个 PortBack 上添加了一些控件。

此后,Asp.net 需要您在每个 PostBack 上重新添加控件。添加这些的最佳位置是Init.

如果 ViewState 中的控制树与您在上一个响应中发送的控制树不匹配,您将收到错误消息。Load除非您解决此问题,否则之前调用 LoadViewStateLoad不会触发。

参考:Asp.net 页面生命周期

于 2013-02-15T06:02:49.040 回答