Затем вы можете вызвать расширение из вашего представления или 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, но это свойство не используется при поиске макетов.
Кто-нибудь знает, как это сделать?