2016-04-20 17 views
1

Ich habe ein grundlegendes MVC-Projekt, und ich habe einen Bereich für die Admin-Typ-Funktionalität namens ..... Admin hinzugefügt.Neuer MVC-Bereich _layout erbt nicht .... System.Web.WebPages.StartPage

Dann, weil ich möchte, dass mein Admin-Bereich etwas autonom vom Rest der Seite, da es Assemblys, Funktionalität usw. für den Admin der Benutzer nicht brauchen wird.

Ich habe dann eine _ViewStart.cshtml zum root des Admin-Bereichs hinzugefügt.

@{ 
    Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml"; 
} 

Natürlich dann habe ich _Layout.cshtml im Admin/Ansichten/Shared Ordner.

die öffentliche Seite Laden ist in Ordnung Laden der Admin-Bereich:

'ASP._Page_Areas_Admin__ViewStart_cshtml' erbt nicht von 'System.Web.WebPages.StartPage'

Googeln ich zahlreiche Leute finden Wer sich dafür entschieden hat, dass die Hauptstelle _Layout auch ihre Gebiete bedient.

Dies ist das Gegenteil von dem, was ich will ... aber ich könnte falsch in meinem Denken sein?

ich diesen Beitrag auch lesen:

ASP.Net MVC4 Root cshtml and "does not inherit from 'System.Web.WebPages.WebPage"

und haben eine web.config, die eine exakte Kopie des Hauptzweiges Ansicht Ordner in den Admin/Ansichten Ordner ohne Erfolg hinzugefügt.

Also verletze ich etwas Praxis, indem ich _Layout für den Admin-Bereich habe?

Wenn nicht dann, was ich vermisse .. Ich meine, ich verstehe den Fehler aber dachte, das Hinzufügen der web.config mit den Assemblys würde die Namespaces benötigt hinzufügen?

Antwort

4

Ich hatte gerade diese Probleme auch. Es Fehler wurde verursacht, wie ich die _ViewStart.cshtml Datei in den Bereich Stammordner des Bereichs anstelle von Bereiche> [Area Name]> Ansichten Ordner gesetzt hatte. Sobald Sie es in die Bereiche> [Area Name]> Ansichten Ordner verschieben, sollte alles wie erwartet funktionieren, solange alles andere richtig konfiguriert ist.

+0

Information des Tages! Ich weiß nicht, wie ich das vermisst habe. Vielen Dank! –

Verwandte Themen