Нужно получить доступ к ViewData на MasterPage ... или другим параметрам - PullRequest
1 голос
/ 23 июля 2010

Я использую MVC2 в VS2010 с .Net 4.0.У меня есть ситуация, в которой у меня будет куча частичных представлений, которые мне нужны, чтобы все имели один и тот же шаблон.В основном они нужны мне, завернутые в один и тот же DIV (и другой мусор).Я просто хочу, чтобы одно место изменило этот DIV ... поэтому я использовал главную страницу.Он прекрасно работает, все частичные представления используют этот мастер, и, если мне нужно что-то изменить, это не проблема.

Пространство проблем: мне нужно иметь некоторые специфические данные View, в данном случае это Id ofзапись, отображаемая представлением, показанная в идентификаторе идентификатора DIV.Теперь я понимаю, что мог бы просто создать другой заполнитель, но мне нужно, чтобы этот идентификатор был в 10 местах, а не в 1.

<div id="<%: ViewObjectId %>">
  <asp:contentplaceholder id="ViewStuff" runat="server"/>
</div>

Я попытался добавить идентификатор в ViewData, однако в MVC2 кажетсяViewData отсутствует в действии.

Я мог бы создать родительское действие, которое вызывает дочернее представление, но проблема в том, что он лишает возможности иметь любые параметры, которые я хочу ... все представления должны будутиспользовать ту же подпись.

Есть мысли или предложения?

1 Ответ

1 голос
/ 23 июля 2010

Не уверен, что вы подразумеваете под "однако кажется, что в MVC2 данные ViewData отсутствуют в действии". ViewData есть и должен работать для того, что вы хотите. Вы должны получить доступ к нему как ViewData["ViewObjectId"], если хотите, однако.

Если это не сработает, не могли бы вы опубликовать примеры кода, чтобы показать, как вы пытаетесь установить значение ViewData?

...