无法在iframe中加载网站

时间:2010-01-06 05:50:46

标签: asp.net iframe cookies

我正在构建一个ASP.NET 3.5应用程序,其中我有一个页面,它在iframe中的另一个域中加载另一个页面。以下是 Default.aspx 页面:

<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
    <iframe src="isite.aspx" runat="server" width="100%" height="100%" scrolling="auto">

    </iframe>
</asp:Content>

以下是iframe页面 isite.aspx

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>Untitled Page</title>
    </head>
    <body style="margin: 0; text-align: center;">
        <form id="Form1" name="frmSubmit" action="https://mysite.com/Login.asp"
        method="POST" runat="server">
        <span style="font-family: Arial">
            <asp:ImageButton ID="ImageButton1" runat="server" PostBackUrl="https://mysite.com/Login.asp" ImageUrl="/ajax-loader.gif" /> Please wait...
    <br />
        </span>
        <input type="hidden" name="txtUserName" size="30" maxlength="50" value="admin"
            onkeypress="Javascript:CheckKeyPress('ID')"/>
        <input type="hidden" name="pwdPassword" size="30" maxlength="25" value="password"
            onkeypress="Javascript:CheckKeyPress('P')"/>
        </form>
    </body>
    </html>

以下是 isite.aspx.cs 页面:

    protected void Page_Load(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "click", "<script language=javascript>document.getElementById('" + ImageButton1.ClientID + "').click();</script>");
    }

这在Firefox,Safari和Chrome中运行良好,但它在IE 7或8中起作用。在IE中它给我一个HTTP 500错误页面。在对它进行了一些研究之后,我认为它在IE中是一个cookie问题并尝试了下面的内容:

  1. 在Global.asax中添加了以下代码:

    protected void Application_BeginRequest(object sender,EventArgs e) {     HttpContext.Current.Response.AddHeader(“p3p”,“CP = \”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT \“”); }

  2. 在Page_Init和Page_Load事件中添加了以下代码行

  3. HttpContext.Current.Response.AddHeader(“p3p”,“CP = \”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT \“”);

    这些解决方案都不适合我。我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果我已经理解你要完成的任务,请试试这个:

<强> isite.aspx:

<script type="text/javascript">

   window.onload = function(){
      setTimeout(function{
          document.forms[0].submit();
      },2000);
   }
</script>

不需要代码隐藏和图像按钮的PostBackUrl属性。