Я бы сказал, что момент, когда ваша главная страница, как известно, будет сразу же после того, как ваша точка зрения была решена с помощью вашего зрения двигателя. Вы можете установить MasterPage при вызове метода View на контроллере, хотя:
public ActionResult Index()
{
return View("index","masterpagename");
}
Я думаю, если вы хотите сделать что-нибудь с вашим MasterPage, который был бы так. Я не знаю контекста вашего вопроса, но я предполагаю, что вы хотите манипулировать представлением и/или viewdata в зависимости от того, какая главная страница используется? Может быть, решение вашей проблемы не является программным получением названия главной страницы в первую очередь?
Дополнение после вашего редактирования: Что вы можете сделать, так это создать новый «базовый» контроллер, который наследует класс контроллера по умолчанию. Тогда вы отменяют View методы и рассказать своим разработчикам использовать это:
public class MySuperController : Controller
{
protected override ViewResult View(string viewName, string masterName, object model)
{
// do something here so your masterpage is different depending on the context //
string newMasterName = "something-something";
return base.View(viewName, newMasterName, model);
}
}
Я думаю, что "все другие методы просматривать либо получить проходят через это, или не используются в вашем случае (те, требуя передать IVEW).
Да, это правильно, по существу изменяя данные вида в зависимости от используемой главной страницы. – NikolaiDante
У вас есть упрощенный случай, который вы могли бы добавить в свой вступительный пост? Я не могу понять причину этого? –
Я обновил свой пост, надеюсь, что он станет яснее: o) – NikolaiDante