Jquery Ajax使viewstate无效

Jquery Ajax使viewstate无效,jquery,asp.net,vb.net,viewstate,Jquery,Asp.net,Vb.net,Viewstate,此页的状态信息无效,可能已损坏 这似乎是一个相当普遍的问题。但我还没有找到一个能解决基本问题的帖子 我有一个严重的Ajax应用程序,我遇到了这个问题。 简而言之,ASPX页面比通过AJAX调用填充w/HTML的一系列div更简单。 如果有人对这些基本问题有意见,我将不胜感激。我将开始一个示例应用程序,看看我是否也能回答这些问题 删除带有Ajax的runat=server控件是否会导致这种情况 如果我用runat=server控件生成的HTML填充一个DIV,这会触发此操作 在将控件作为ajax

此页的状态信息无效,可能已损坏

这似乎是一个相当普遍的问题。但我还没有找到一个能解决基本问题的帖子

我有一个严重的Ajax应用程序,我遇到了这个问题。 简而言之,ASPX页面比通过AJAX调用填充w/HTML的一系列div更简单。 如果有人对这些基本问题有意见,我将不胜感激。我将开始一个示例应用程序,看看我是否也能回答这些问题

  • 删除带有Ajax的
    runat=server
    控件是否会导致这种情况
  • 如果我用
    runat=server
    控件生成的HTML填充一个DIV,这会触发此操作
  • 在将控件作为ajax ctl的一部分返回之前,是否有方法对
    runat=server
    控件进行分叶
  • (例如,一个转发器非常适合构建一个表。我可以使用转发器,然后在向客户端发送响应之前从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"
    
    谢谢,
    格雷格。

    好吧,我让它工作了,但我还是放弃了.NET菜单。 因为我在寻找一些高层次的信息,我会让社区知道我能做什么

    当我加载AJAX页面,然后使用菜单导航时,就会出现viewstate问题。之所以会出现这种情况,是因为在我的AJAX页面导航离开之前,单击菜单将其发回。如果它只是一个超链接,就不会有问题

    讨论中的AJAX页面基本上是3个div。 Div_A是一个导航元素,由文档列表组成。 Div_B是1个文档的只读详细信息,带有一些操作按钮。 Div_C是一个输入表单。 div由jqueryajax调用填充。成功后,我将替换相关DIV的整个innerHTML。 Div_A和Div_B在页面加载时按该顺序自动填充。(清单和第一份文件细节)

    把事情搞糟,只是填充分区A就造成了问题。 检查显示我有一些div w/RUNAT=SERVER。我把它拿走了。这并没有解决问题。 整个内容也有一种形式。表单被标记为runat=server。 我完全删除了表格。这使我可以使用菜单而不会出现viewstate错误。但是,如果我单击了第二个文档,导致重新加载Div_B。问题再次出现

    Div_B在所有东西周围都有相同的形状。(这些必须由Visual Studio自动放置。没有理由使用任何一种形式,因为分区A和分区B都是只读的) 关于DIV_B的有趣之处在于,我需要使用RUNAT=SERVER的DIV,因为我在代码中设置了innerText。 删除表单使我能够在文档之间导航,并且仍然能够使用菜单而不会出现VIEWSTATE错误

    因此: 将RUNAT=SERVER HTML元素添加到页面似乎不会破坏VIEWSTATE 将RUNAT=SERVER表单添加到页面似乎会破坏VIEWSTATE

    所以事情又恢复了正常,但为什么这个问题突然出现了呢?不确定。很多事情都改变了,我不能指出任何一件事。(当我从vs10->vs12升级时,表单可能是自动生成的)。谁知道,谁在乎

    最终,我不能仅仅为了.NET菜单项而继续溺爱这个问题。就@Brad M而言,我决定只使用jQuery菜单,这将消除对该页面的任何批发页面回发

    稍加搜索,我发现了arnab_bandyopadhyays实现的水平jQuery菜单,他在这里演示了:

    
    dim viewStateWorksWellWAjax作为布尔值=false
    
    谢谢你的建议


    Greg

    好吧,我让它工作了,但我还是放弃了.NET菜单。 因为我在寻找一些高层次的信息,我会让社区知道我能做什么

    当我加载AJAX页面,然后使用菜单导航时,就会出现viewstate问题。之所以会出现这种情况,是因为在我的AJAX页面导航离开之前,单击菜单将其发回。如果它只是一个超链接,就不会有问题

    讨论中的AJAX页面基本上是3个div。 Div_A是一个导航元素,由文档列表组成。 Div_B是1个文档的只读详细信息,带有一些操作按钮。 Div_C是一个输入表单。 div由jqueryajax调用填充。成功后,我将替换相关DIV的整个innerHTML。 Div_A和Div_B在页面加载时按该顺序自动填充。(清单和第一份文件细节)

    把事情搞糟,只是填充分区A就造成了问题。 检查显示我有一些div w/RUNAT=SERVER。我把它拿走了。这并没有解决问题。 整个内容也有一种形式。表单被标记为runat=server。 我完全删除了表格。这使我可以使用菜单而不会出现viewstate错误。但是,如果我单击了第二个文档,导致重新加载Div_B。问题再次出现

    Div_B在所有东西周围都有相同的形状。(这些必须由Visual Studio自动放置。没有理由使用任何一种形式,因为分区A和分区B都是只读的) 关于DIV_B的有趣之处在于,我需要使用RUNAT=SERVER的DIV,因为我在代码中设置了innerText。 删除表单使我能够在文档之间导航,并且仍然能够使用菜单而不会出现VIEWSTATE错误

    因此: 将RUNAT=SERVER HTML元素添加到页面似乎不会破坏VIEWSTATE 将RUNAT=SERVER表单添加到页面似乎会破坏VIEWSTATE

    所以事情又恢复了正常,但为什么这个问题突然出现了呢?不确定。很多事情都改变了,我不能指出任何一件事。(当我从vs10->vs12升级时,表单可能是自动生成的)。谁知道,谁在乎

    最终,我不能继续这样做了
    <<stackoverflow wants some code if i reference jsfiddle, so here ya go...>>
    dim viewStateWorksWellWAjax as boolean =false