Какое значение я должен ожидать для masterName в WebFormViewEngine.FindView - PullRequest
3 голосов
/ 02 ноября 2010

Я расширяю WebFormViewEngine, и когда я перезаписываю FindView и отлаживаю во время выполнения, параметр masterName, кажется, всегда является пустой строкой.

Что представляет собой параметр masterName?

MSDN не поможет: «Имя мастера».

public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache)

Спасибо.

1 Ответ

7 голосов
/ 02 ноября 2010

Это имя запрашиваемой главной страницы (файла макета), если разработчик указал ее.Одной из перегрузок метода View() (и, следовательно, некоторых свойств ViewResult) является имя используемой главной страницы.Например:

public ActionResult ShowViewWithSpecificLayout() {
    return View("MyView", "MyOtherLayout");
}

Получаемое вами основное имя чаще всего будет пустым, поскольку относительно редко задают пользовательскую главную страницу из контроллера.В большинстве ситуаций вид сам выбирает соответствующую главную страницу.Один из случаев, когда я видел это изнутри контроллера, - это если есть особые обстоятельства, такие как просмотр с мобильного устройства, где полезна альтернативная главная страница.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...