ViewData сбрасывается в элементах управления ASP.Net MVC - PullRequest
0 голосов
/ 25 февраля 2010

У меня есть 2 экземпляра пользовательского элемента управления (ascx) на странице просмотра.

Я установил ViewData ["xyz"] = "True" внутри пользовательского элемента управления.

Первый экземпляр установит ViewData ["xyz"] в "True". Однако это же значение не сохраняется во втором экземпляре пользовательского элемента управления.

Я ожидал, что ViewData ["xyz"] будет по-прежнему "True", но это ноль.

Пожалуйста, помогите.

Каков наилучший способ иметь общие переменные для пользовательских элементов управления?

Ответы [ 2 ]

3 голосов
/ 25 февраля 2010

Любая логика должна выполняться внутри контроллера. Пользовательские элементы управления (представления, частичные представления) не должны иметь логику, которая требует помещения данных в коллекцию ViewData. Представления только для презентации.

0 голосов
/ 26 февраля 2010

Возможно, вы можете сделать ((ViewPage)Page).ViewData["whatever"] = "value";

Лучшая идея, вероятно, состоит в том, чтобы не требовать общего состояния между пользовательскими элементами управления,

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