jquery - "The state information is invalid for this page and might be corrupted"

标签 jquery asp.net iframe exception fancybox

我的 asp.net 应用程序有一个母版页、一个内容页和一个用户控件。

在主母版页中,有一个链接将 fancybox 显示为 iframe。 iframe 有一个用于登录页面的表单。 iframe 是一个新的母版页,其中包含登录的内容页面,其中用户可以控制登录。

当用户单击按钮登录时,服务器端会检查凭据是否正确,如果不正确,则会显示一条消息。所有这一切都通过自定义验证器实现。

我的问题是,当用户第一次单击按钮登录时,它检查正常,但如果凭据不好并且用户重新输入它们,我会在 Firefox 上收到以下错误

Error: Sys.WebForms.PageRequestManagerServerErrorException:    
Sys.WebForms.PageRequestManagerServerErrorException: the state information is invalid  
for this page and might be corrupted http.../jquery-1.7.2.js

在我的母版页上

<%-- jQuery --%>
  <script src="<%= ResolveClientUrl("~/Template/Scripts/jquery-1.7.2.js") %>" 
   type="text/javascript"></script>
<%-- jQueryUI --%>
<script src="<%= ResolveClientUrl("~/Template/jqueryui/js/jquery-ui-1.8.21.custom.min.js") %>"
   <script type="text/javascript" src="<%= ResolveClientUrl("~/Template/Scripts/jquery.fancybox-1.4.3.min.js") %>">
</script>
<script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $("#LoginLightBox").fancybox({
            width: 300,
            height: 750,
            scrolling: "no"
        });
        $("#RegistroLightbox").fancybox({
            width: 300,
            height: 750,
            scrolling: "no"
        });
    });

</script>
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
<body id="page1">
<form id="Form1" runat="server">
<asp:ScriptManager ID="ScriptManager" runat="server">
</asp:ScriptManager>
<div >
<li style="display:inline"><a class="labelsTipolinks" id="LoginLightBox" href="Login.aspx?iframe=true">Login</a></li>
<li style="display:inline;color: #C53005;">|</li>
<li style="display:inline"><a class="labelsTipolinks"  id="RegistroLightbox" href="RegistroUsuario.aspx?iframe=true">Registro</a></li>   

在内容页面上:

<%@ Register TagPrefix="uc1" TagName="Login" Src="~/Controles/Login.ascx" %>

最后是用户控件:

<div style="margin-top: 20px">
    <asp:UpdatePanel runat="server" ID="updPanelLoginIncorrecto">
        <ContentTemplate>
            <asp:CustomValidator ForeColor="Red" OnServerValidate="usuarioExistente_Validation"
                Display="Static" Font-Size="Small" runat="server" ID="vldLogin" 
                ValidationGroup="grupoValidacionLoginUsuario"
                Text="<%$ Resources:LocalizedText, MsjError_LoginIncorrecto%>">
            </asp:CustomValidator>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnLoginLightbox" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
</div>
<div class="tableContent" style="float: right;">
    <asp:Button CssClass="button" ID="btnLoginLightbox" Text="Login" runat="server" OnClick="btnLogin_Click"
        ValidationGroup="grupoValidacionLoginUsuario" />
</div>

请帮忙,这让我发疯。我已经尝试将 eventvalidation 设置为 false、sessions、response.cache.setno... 等,但没有任何效果。

编辑

我收到错误的行位于 jquery 1.7.2.js 上,并且位于显示 jQuery.dequeue( elem, type ); 的行上

编辑2

我最终将 fancybox 作为内联元素放入 master 中,但这不是我想要的解决方案。请帮帮我!!!!

最佳答案

经过几周的尝试,我尝试输入 type:"iframe"并且神奇地成功了!我不知道必须做什么,但现在可以了:) 所以代码是:

<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
    $("#LoginLightBox").fancybox({
        type: "iframe",
        width: 300,
        height: 750,
        scrolling: "no"
    });
    $("#RegistroLightbox").fancybox({
        type: "iframe",
        width: 300,
        height: 750,
        scrolling: "no"
    });
});

</script>

关于jquery - "The state information is invalid for this page and might be corrupted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11783707/

相关文章:

javascript - Bootstrap 4 侧边栏多级 - 折叠显示隐藏不起作用

c# - 在 Asp.net 中使用 Linq 创建 A-Z 索引的最佳实践

javascript - jquery - 引导按钮上的功能在第一次点击时不执行

javascript - jquery 获取JSON IP

asp.net - 无法在 SessionStorage 中设置 null

google-chrome - 谷歌浏览器 iframe 的跨域 cookie 问题

html - 设置要添加到 dom 的动态 iframe 的最大宽度

css - FireFox 中的 iframe 不遵守 z-index

javascript - 如何从 firefox 浏览器中将选定的文本写为图像

c# - xunit 测试不将输出保存到 xml