Вы не можете этого сделать. Что вам нужно сделать, это установить модель представления главной страницы, например:
Inherits="System.Web.Mvc.ViewMasterPage<BaseModel>"
... где BaseModel
- это некоторый базовый класс, который вы будете использовать в КАЖДОМ ОДНОМ представлении. из-за этого ограничения оно довольно хрупкое, и вы, возможно, не захотите это делать.
В любом случае каждый вид должен иметь тип модели, производный от BaseModel.
Тогда на вашей главной странице вы можете просто сделать:
<%= Model.ShowMenu %>
Другой вариант - использовать словарь ViewData и иметь разумное значение по умолчанию, если действие не установило его.
<% if( (bool)(ViewData["showmenu"] ?? false) ) { %>
... render menu here ...
<% } %>
Это довольно уродливо, поэтому вы можете вместо этого выбрать помощника:
<% if(this.ShouldRenderMenu()) { %>
.....
<% } %>
и в вашем помощнике:
public static class MyExtensions
{
public static bool ShouldRenderMenu(this ViewMasterPage page)
{
return (bool)(page.ViewData["rendermenu"] ?? false);
}
}