ASP.NET Web表单-在jQuery对话框中回发页面时出现查看状态错误

ASP.NET Web表单-在jQuery对话框中回发页面时出现查看状态错误,jquery,asp.net,webforms,Jquery,Asp.net,Webforms,我有一个ASP.NET Web表单网站,我正在尝试使用jQuery对话框在主页上单击按钮后显示数据库中类别/名称的值 在浏览器中直接在jQuery对话框中运行页面是完美的,但是在jQuery对话框中运行页面会在第一次运行时导致此错误 未捕获错误:Sys.WebForms.PageRequestManagerServerErrorException:状态信息对此页面无效,可能已损坏 如果我在这个错误后关闭对话框并再次打开它,它工作得很好?!我已经阅读了有关ViewState和UpdatePanel

我有一个ASP.NET Web表单网站,我正在尝试使用jQuery对话框在主页上单击按钮后显示数据库中类别/名称的值

在浏览器中直接在jQuery对话框中运行页面是完美的,但是在jQuery对话框中运行页面会在第一次运行时导致此错误

未捕获错误:Sys.WebForms.PageRequestManagerServerErrorException:状态信息对此页面无效,可能已损坏

如果我在这个错误后关闭对话框并再次打开它,它工作得很好?!我已经阅读了有关ViewState和UpdatePanel的所有内容,通常建议的解决方案都不适合我。我怀疑问题在于我的jQuery对话框正在加载一个单独的aspx页面,而这个页面正在加载到主页的顶部。因此,回发时,我的视图状态对于主页无效,而不是jQuery对话框中的页面

错误发生在第一次加载时,对页面进行任何修改,即设置标签文本、显示/隐藏标签、选择树视图节点等。基本上是任何会修改页面外观的事件


另外,我正在将对话框页面加载到主页上的对话框div中,这样主页上就有了这些控件…

使用下面的两个链接,我已经解决了我的问题。我现在不是将aspx页面直接加载到jQuery对话框中,而是将aspx页面加载到iframe中,iframe位于我的Dialog div中(参见第一个链接获取示例)

一些要点:

  • 在jQuery对话框中加载aspx页面(直接)会将页面作为纯HTML加载到主页面。可以将此视为将aspx页面附加到主页面
  • 在iframe中加载aspx页面类似于在web浏览器中直接导航到该页面
  • 添加对话框后的视图状态不准确,因为主页现在添加了大量以前不存在的控件
  • 在第二种情况下,ViewState包含在对话框中加载的页面的iframe中,因为它实际上是一个单独的页面
如果你像我一样是ASP.NET n00b,我希望有人会觉得这很有用,不会像我一样花上几周的时间研究这个问题