当第二次单击GridView时,Pageload函数没有调用

本文关键字:函数 调用 Pageload 第二次 单击 GridView | 更新日期: 2023-09-27 17:59:14

错误消息

未能加载视图状态。视图状态加载到的控制树必须与上次请求期间用于保存视图状态的控制树匹配。例如,当动态添加控件时,在回邮期间添加的控件必须与cont 的类型和位置相匹配

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

第一次点击可以正常工作,第二次点击有问题。

如果调用pageload,我的问题就解决了
我试着在谷歌上搜索,但找不到解决方案。帮帮我。

当第二次单击GridView时,Pageload函数没有调用

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

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

如果ViewState中的控制树与上次响应中发送的控制树不匹配,则会出现错误。由于LoadViewState是在Load之前调用的,除非解决此问题,否则Load不会激发。

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

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

if(!isPostBack)
{ //code }

不要写!IsPostBack

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