ASP.NET MVC3 View Наследование классов - PullRequest
0 голосов
/ 24 февраля 2012

В моем проекте я использую ASP.NET MVC3, и мой фон взят из традиционного asp.net, мой вопрос связан с "сравнением с веб-формами asp.net" с наследованием, которое возможно в codebehind.

Я намерен (в mvc3) иметь несколько дополнительных свойств, доступных во всех представлениях приложения.

Можно ли добавить мои дополнительные свойства к моим представлениям или мне нужно использовать «вспомогательный путь» в качестве обходного пути?

Отмечает, что мой вопрос не на уровне модели, а для представления (UI).

Извините, забыл упомянуть, что мой взгляд на двигатель - Razor

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

Да, по умолчанию MVC Views наследует System.Mvc.ViewPage. Если вы используете строго типизированное представление, то это System.Mvc.ViewPage<model>, где ваше объявление @model передается универсальному классу ViewPage<>.

Хотя возможно наследовать от производного ViewPage, обычно это не делается. В зависимости от того, что вы хотите сделать, вероятно, найдется лучшее решение.

Возможно, если вы пояснили, что делаете, это может помочь нам помочь вам больше.

1 голос
/ 24 февраля 2012

Если ваши дополнительные свойства предназначены для конкретного пользовательского интерфейса, вы можете определить главную страницу и использовать ее на всех страницах просмотра. Если они предназначены для свойств значений, то вы можете создать базовую модель и наследовать ее в классах вашей модели, которые затем будут доступны для всех ваших представлений, использующих эти модели. Если ничего из этого не подходит для вашей цели, вы можете попробовать расширить System.Web.Mvc.ViewPage, но я не уверен, будет ли это наилучшей практикой .

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