Лучшие практики для ASP.NET MVC областей - PullRequest
1 голос
/ 16 февраля 2010

В настоящее время я создаю систему CMS, и мне нужен простой способ включения или исключения компонентов.

Моей первой мыслью было использование функции области mvc asp.net для идентификации каждого компонента на себе.

Но из того, что я вижу, функция области имеет проблем , так что, возможно, это не очень хорошая идея.

Ответы [ 2 ]

4 голосов
/ 16 февраля 2010

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

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

2 голосов
/ 16 марта 2011

Это так не повезло с областями, ссылающимися на общую главную страницу! Убил день, чтобы обойти это безрезультатно.

Вероятно, трюк, который выглядит как наиболее близкий к достижению правильного токена 'области' для главной страницы, описан здесь , то есть, предлагается следующий фрагмент внутри OnPreRender мастера:

 var area = ViewContext.RouteData.DataTokens["area"];
 ViewContext.RouteData.DataTokens["area"] = "";
 base.OnPreRender(e);
 ViewContext.RouteData.DataTokens["area"] = area

К сожалению, это не сработало для меня, главным образом, потому что мои ссылки ActionLink генерируются не непосредственно в мастере, а в элементе , для которого по-прежнему используется исходная область страницы.

...