Prozedur 1: Steuern Sie das Rendern von Layouts mithilfe der Datei _ViewStart im Stammverzeichnis des Ordners Ansichten
Diese Methode ist für Anfänger die einfachste Möglichkeit, das Rendern von Layouts in Ihrer ASP.NET MVC-Anwendung zu steuern. Wir können den Controller identifizieren und die Layouts als Par-Controller rendern. Dazu können wir unseren Code in die _ViewStart-Datei im Stammverzeichnis des Views-Ordners schreiben. Das folgende Beispiel zeigt, wie es gemacht werden kann.
@{
var controller = HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"].ToString();
string cLayout = "";
if (controller == "Webmaster") {
cLayout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
else {
cLayout = "~/Views/Shared/_Layout.cshtml";
}
Layout = cLayout;
}
Prozedur 2: Legen Sie das Layout fest, indem Sie von ActionResult zurückkehren
Eine der großartigen Funktionen von ASP.NET MVC ist, dass wir das Standard-Layout-Rendering überschreiben können, indem wir das Layout aus dem ActionResult zurückgeben. Auf diese Weise können Sie auch ein anderes Layout in Ihrer ASP.NET MVC-Anwendung rendern. Das folgende Codebeispiel zeigt, wie es gemacht werden kann.
public ActionResult Index()
{
SampleModel model = new SampleModel();
return View("Index", "_WebmasterLayout", model);
}
Prozedur 3: Ansichtsweises Layout (durch Definieren des Layouts in jeder Ansicht oben)
ASP.NET MVC bietet uns eine großartige Funktion und Faxbarkeit, um das Standard-Layout-Rendering zu überschreiben, indem das Layout in der Ansicht definiert wird. Um dies zu implementieren, können wir unseren Code in jeder Ansicht folgendermaßen schreiben.
@{
Layout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
Prozedur 4: Platzieren der _ViewStart-Datei in jedem der Verzeichnisse
Dies ist eine sehr nützliche Methode, um unterschiedliche Layouts für jeden Controller in Ihrer ASP.NET MVC-Anwendung festzulegen. Wenn Sie das Standardlayout für jedes Verzeichnis festlegen möchten, können Sie dies tun, indem Sie die _ViewStart-Datei in jedes der Verzeichnisse mit den erforderlichen Layoutinformationen einfügen, wie unten gezeigt:
@{
Layout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
null
auf der gerenderten Seite?