【发布时间】:2013-06-06 18:33:12
【问题描述】:
此页面的状态信息无效,可能已损坏
这似乎是一个很常见的问题。但是我还没有找到解决基本问题的帖子。
我有一个严重 ajaxed 的应用程序,我遇到了这个问题。 简而言之,ASPX 页面并不比一系列通过 AJAX 调用填充 HTML 的 div 多。 如果有人对这些基本问题有 cmet,我将不胜感激。我将开始一个示例应用程序,看看我是否也能回答它们。
- 使用 Ajax 删除
runat=server控件是否会导致此问题。 - 如果我使用由
runat=server控件生成的 HTML 填充 DIV,会触发此操作。 - 有没有办法在将
runat=server控件作为 ajax ctl 的一部分返回之前对其进行脑叶切除。
( 例如 - 转发器非常适合构建表格。我可以使用转发器,然后在将响应发送到客户端之前从 HTML 中删除一些语法吗? 如果必须的话,我可以循环播放.. )
4) 有什么我可以放在标题中的东西来让这整个事情消失吗?
Page Language="vb"
AutoEventWireup="false"
CodeBehind="frustration.aspx.vb"
_Inherits="Portal.frustration"
EnableViewState="false"
enableViewStateMAC="false"
EnableEventValidation="false"
ValidateRequest="false"
ViewStateEncryptionMode="Never"
MasterPageFile="~/_MasterPages/Admin.Master"
谢谢, 格雷格。
【问题讨论】:
-
如果你要使用 ajax,就使用 ajax。在不知道自己在做什么的情况下将其与回发混为一谈,结果会很糟糕。
-
我不确定你是如何使用 ajax 来填充你的 html 的。但只需确保 ajax 响应中的 HTML 中没有 viewstate 字段。并且还要确保当前页面的视图状态没有被 ajax 响应覆盖/修改。当您将另一个页面的 html 完全转储到您当前的 [age 中时,通常会发生这种情况
-
您需要找到您更改的内容并破坏了页面,或者您没有与页面一起发送的内容。您可以开始禁用大多数控件上的某些视图状态,并尝试定位您中断的内容。
标签: jquery asp.net vb.net viewstate