2010-01-06 5 views
0

Je construis une application ASP.NET 3.5 dans laquelle j'ai une page qui charge une autre page dans un domaine différent dans un iframe. Ci-dessous le pour Default.aspx page:Impossible de charger un webste dans iframe

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

    </iframe> 
</asp:Content> 

est en dessous de la page 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> 

est inférieure à la isite.aspx.cs page:

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

Cela fonctionne très bien dans Firefox, Safari et Chrome mais il fonctionne dans IE 7 ou 8. Dans IE, il me donne une page d'erreur HTTP 500. Après avoir fait des recherches sur ce que je pensais que son un problème de cookie dans IE et essayé les suivantes Soutions:

  1. Ajouté le code suivant à la Global.asax:

    vide Application_BeginRequest (expéditeur d'objet protégé, EventArgs e) { HttpContext.Current.Response.AddHeader ("p3p", "CP = \" IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONI NOTRE IND CNT \ ""); }

  2. Ajouté la ligne suivante de code pour les Page_Init et les événements Page_Load

HttpContext.Current.Response.AddHeader ("P3P", "CP = \" IDC DSP COR ADM Dévi TAII PSA PSD IVAi IVDi CONI SA NOTRE IND CNT \ "");

Aucune de ces solutions n'a fonctionné pour moi. Qu'est-ce que je rate?

Répondre

0

Si je comprends ce que vous essayez d'accomplir, essayez ceci:

isite.aspx:

<script type="text/javascript"> 

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

Pas besoin de code derrière et l'attribut PostBackUrl du bouton d'image.

+0

Eh bien j'ai essayé cela et je reçois toujours la même erreur erreur HTTP 500. – Kumar

+0

Avez-vous vérifié l'url? – jerjer

Questions connexes