Asp.Net MVC 3 - @Html.Aktion wird nicht gerendert/Rückgabe einer HTML -
Habe ich bewegt ein relativ neues Projekt von ViewPages zu Razor heute, und alles scheint gut zu gehen. Außer das ich versucht Html zu verwenden.Aktion zum Rendern ein Benutzer-Steuerelement, und es wird nicht etwas Rendern.
Also ich habe ein Shared/_Layout.cshtml-Datei, die referenziert wird in der Home/Index.cshtml
Index.cshtml hat folgenden Wortlaut:
<article>
@Html.Action("LatestBlogsMainPanelWidget", "Blogs")
...
</article>
Habe ich fallen in der BlogsController, so weiß ich, dass das beantragt wird. Ich weiß auch, dass ein Modell zurückgegeben wird, dass die LatestBlogsMainPanelWidget wird gefunden, indem die Ansicht engine, und sogar einige dummy-Razor-syntax-code ausgeführt wird:
@{
var s = "Hallo";
}
aber die plain-html-diese Datei ist nicht die Erstellung an den browser. Ich habe versucht, andere (zuvor) der Teiltöne auch und Sie erscheinen nicht entweder (Quelltext anzeigen auf der Seite wird bestätigt, dass Sie nicht da).
Habe ich auch versucht, als Ersatz für
@{ Html.RenderAction(...); } ohne Erfolg. HTML jeder Seite des @Html.Aktion erscheint, so weiß ich, Index.cshtml ist die Anzeige richtig.
Sogar mehr seltsam der _Layout Datei hat auch Html.Aktion Befehle und Sie tun schön erscheinen.
Ich bin wirklich nicht sicher, was anderes zu schauen, oder wie, um zu bestätigen, dass die pipeline ist immer HTML. Kann mir jemand helfen?
Dank!
- Ist die Ansicht für diese Aktion befindet sich in der richtigen Stelle? Nevermind, ich sah nur die eine Zeile, die ich suchte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen Sie ein Layout = null-auf die eingeschränkte Sicht und es wird funktionieren.
Versuchen Sie dies:
@{Html.RenderAction("LatestBlogsMainPanelWidget", "Blogs");}
Gehirn ist eine lustige Sache, und trotz Ausgaben von mehreren Stunden auf dieses gestern, es dauerte mein Hund weckte mich mitten in der Nacht für eine Woche für mein Unterbewusstsein zu stolpern die Antwort.
Wenn das hatte jemand anderes ratlos, ich bin nicht überrascht. Ich hatte nicht erwähnt, da es noch nicht dämmerte mir, dass ich mit einem partial-level-Cache-system ähnlich konzipiert von Steve Sanderson. Plötzlich fiel mir auf, dass könnte dies die Ursache sein, da zu den besten meines Wissens Razor-Seiten gehen über weit weniger pipeline-Verarbeitung als WebForm Seiten. Die caching-filter ist wahrscheinlich nicht das tun, was es tun muss, oder an der richtigen Zeit.
Habe ich bestätigt, dass das auskommentieren der OutputCache-filter auf die Aktionen in Frage, die hat das problem behoben.
Ich habe keine Ahnung, ob dieses Problem gilt für die Seite-level-caching, wie es ist nicht etwas, die ich nützlich finde.
Während der Suche von Lösungen für dieses Problem, ich habe finden drei Messen Probleme für nicht korrekte Darstellung von Html.Aktion und Html.RenderAction. Überprüfen Sie bitte haben Sie getan, unten die Dinge richtig oder nicht.
Ich hoffe, dass durch die Anwendung über alle Schritte, die Sie können Ihre Probleme lösen.