2017-04-10 3 views
0

Hallo Ich entwickle Website mit asp. NET mvc5, aber wenn ich IFrame verwenden, zeigt es keine Ergebnisse. Nach dem googeln und Lesen einiger Dokumente habe ich festgestellt, dass MVC5 Iframe standardmäßig stoppt. Ich habe einige Antworten auf Stackoverflow und andere Blogs gefunden, aber nichts funktioniert für mich. Bitte überprüfen Sie, wo ich Fehler mache:Iframe zeigt keine Website in Asp. NET MVC5

Hier ist mein Code:

public ActionResult Index() 
    { 
     return View(); 
    } 

Meine Ansicht:

<iframe width="482" height="500" scrolling="no" frameborder="0" id="paymentFrame" src="http://www.codingfusion.com"></iframe> 

ich versucht habe folgende Lösungen bisher:

After update to MVC 5, iframe no longer works

https://www.iambacon.co.uk/blog/mvc5-prevents-your-website-being-loaded-in-an-iframe

http://joost.haneveer.nl/asp-net/display-mvc-5-web-site-in-an-iframe/

Hier ist meine Global.asax-Datei:

protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
     BundleConfig.RegisterBundles(BundleTable.Bundles); 

     // MVC5 generates the "X-Frame-Options SAMEORIGIN" header by default, the following line disables the default behaviour 
     System.Web.Helpers.AntiForgeryConfig.SuppressXFrameOptionsHeader = true; 
    } 

    protected void Application_BeginRequest() 
    { 
     Response.AddHeader("X-Frame-Options", "DENY"); 
    } 

Antwort

0

So habe ich endlich mein Problem gelöst haben, ich falschen Weg von Anfang an gefolgt war, gab es keine Frage Websites zeigt, die Iframe und MVC5 (ich weiß nicht, wie ich diesen Weg gegangen bin, suche ich nach Lösungen. Das eigentliche Problem war:

Meine Domain besteht aus SSL (https: //) und ich versuchte, nicht SSL (http: //) -Website anzuzeigen. Dies verursacht Cross-Herkunft und meine Iframe funktioniert nicht richtig (wie auch immer ich den vollständigen Code der Website anzeigen kann, indem Quellcode meiner Seite anzeigen)

Lösung: Glücklicherweise unterstützt die Website, die ich in meinem Iframe zeigte, SSL (https: //) Also habe ich nur (https: //) zu meiner Iframe-Quelle hinzugefügt.

0

Sie einen X-Frame-Options: DENY Header explizit hinzufügen. Ändern Sie das in ALLOW-FROM http://foo.com, wobei "foo.com" die URL der Website ist, auf der Sie die Website einrichten, die diese Überschrift festlegt. Dann sollte es dir gut gehen. Oder Sie können hier einfach nicht die Kopfzeile hinzufügen, da Sie dies bereits unterdrücken.

+0

Danke, aber es funktioniert nicht, ich habe das Entfernen Application_BeginRequest auch versucht() –

1

nur den folgenden Code entfernen:

protected void Application_BeginRequest() 
    { 
     Response.AddHeader("X-Frame-Options", "DENY"); 
    } 
+0

dies versucht, aber nicht arbeiten, werden –

+0

Rahmen von vielen Option Block sein wie (Anwendungsebene, Netzwerkebenen, Firewall, oder sie können durch Ihre blockiert werden ISP). Sie arbeiten nur mit Ihrer Anwendungsebene –