Затем вы можете вызвать расширение из вашего представления или viewstart.cshtml следующим образом:

or, при загрузке частичного представления, можно просто указать частичное имя представления, и механизм представления Razor будет искать RazorViewEngine.PartialViewLocationFormats:

@Html.RenderPartial("_PartialView", Model);

будет фактически искать местоположения, указанные в PartialViewLocationFormats в движке представления, такие как, например,

~/Views/Home/_PartialView.cshtml
~/Views/Shared/_PartialView.cshtml

Однако при указании макета я, кажется, вынужден указать конкретный путь к макету:

@Layout = "~/Views/Shared/MyLayout.cshtml";

То, что я хотел бы сделать, это указать макет только по имени, и найти фактический макет, выполнив поиск в списке общих расположений:

@Layout = "MyLayout";

... но я не могу найти никаких возможностей для этого. Поскольку я не смог найти никакой документации по этому поводу, я попытался поиграть с настройкой RazorViewEngine.MasterLocationFormats, но это свойство не используется при поиске макетов.

Кто-нибудь знает, как это сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос