Я создаю приложение 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. Проведя некоторые исследования, я решил, что это проблема с cookie в IE, и попробовал следующее:
Добавлен следующий код в Global.asax:
protected void Application_BeginRequest (отправитель объекта, EventArgs e)
{
HttpContext.Current.Response.AddHeader ("p3p", "CP = \" IDC DSP COR ADM DEVI TAIi PSA PSD IVAi IVDi CONI HIS OUR IND CNT \ "");
}
Добавлена следующая строка кода для событий Page_Init и Page_Load
HttpContext.Current.Response.AddHeader ("p3p", "CP = \" IDC DSP COR ADM DEVI TAIi PSA PSD IVAi IVDi CONI HIS OUR IND CNT \ "");
Ни одно из этих решений не помогло мне. Чего мне не хватает?