Общий макет области _ViewStart.cthml - PullRequest
2 голосов
/ 20 июня 2019

У меня есть несколько областей, и я хочу указать свой макет в папке общей папки.моя папка

App
 -...
 -Model
   -...
 -Controller
   -...
 -View
    |-Shared
       - _layout.cshtml <--- root layout
       - _layout2.cshtml <--- workaround 
    - _ViewStart.cshtml <--- OK!
 -Areas
  |-Areaname1
    |-Controllers
    |-Views
      |-Shared
        - _layout.cshtml <--- my area layout
      - _ViewStart.cshtml <--- i want to use the layout above
  |-Areaname2
    -...

код внутри моего Areas Views/ _ViewStart.chtml

@{
// Layout = "~/Views/Shared/_Layout.cshtml"; <--- will point on the root layout
// Layout = "~/Views/Shared/_Layout2.cshtml"; <--- view to root
// Layout = "~Area/Areaname1/Views/Shared/_Layout.cshtml"; <--- correct path
// Layout = "~/Areaname1/Views/Shared/_Layout.cshtml"; <--- same error above
}

Укажите макет на область.

1 Ответ

2 голосов
/ 25 июня 2019

Используя

@{
     Layout = "~/Views/Shared/_Layout.cshtml"; <--- will point on the root layout
}

Вы прямо говорите, смотрите в корне (~) и используете /Views/Shared/_Layout.cshtml.

Вы, вероятно, хотите использовать:

@{
     Layout = "_layout.cshtml";
}

Сначала он просматривает папку вашей области, и, если он не находит там _layout.cshtml, он просматривает папку ~/Views/Shared/.

Вы можете установить путь поиска в RazorViewEngine или зарегистрировать в нем некоторые обычаи. См., Например, исходный код .

По умолчанию они:

  • "~ / Районы / {2} / Views / {1} / {0} .cshtml",
  • "~ / Areas / {2} / Views / {1} / {0} .vbhtml",
  • "~ / Районы / {2} / Views / Shared / {0} .cshtml",
  • "~ / Районы / {2} / Просмотров / Shared / {0} .vbhtml"
  • "~ / Views / {1} / {0} .cshtml",
  • "~ / Views / {1} / {0} .vbhtml",
  • "~ / Views / Shared / {0} .cshtml",
  • "~ / Views / Shared / {0} .vbhtml"

Где:

  • 2 = Площадь
  • 1 = контроллер
  • 0 = Действие / Просмотр (например, _layout)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...