【问题标题】:Pageload function is not calling , when Second time Clicking on GridView当第二次单击 GridView 时,页面加载函数未调用
【发布时间】:2013-02-15 05:45:59
【问题描述】:

错误信息

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

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

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

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

【问题讨论】:

  • 显示一些代码可能会有所帮助...帮助我们帮助您

标签: c# asp.net sql-server-2008-r2


【解决方案1】:

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

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

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

参考:Asp.net Page Lifecycle

【讨论】:

    【解决方案2】:

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

    if(!isPostBack)
    { //code }
    

    不要写在 !IsPostBack

    【讨论】:

      【解决方案3】:

      如果不需要,请尝试将托管控件的 PlaceHolder 设置为 EnableViewState="False",否则请查看 Failed to load viewstate. The control tree into which viewstate is being loaded

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-08
        • 1970-01-01
        • 2018-01-25
        • 2014-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多