Как вы пишете свой собственный движок View для ASP.NET MVC? - PullRequest
5 голосов
/ 27 декабря 2008

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

Подробнее: У нас есть своя собственная CMS, основанная на веб-формах, и главное преимущество MVC в том, что она дает нам более чистый HTML (что очень понравится нашим дизайнерам). Однако у нас есть желание создать собственную реализацию View для конкретного домена.

Ответы [ 3 ]

5 голосов
/ 27 декабря 2008

ОК, я сделал несколько Google-фу и нашел эти сообщения:

Добавление поддержки скинов в приложении ASP.NET MVC

Частичный рендеринг и просмотр движков в ASP.NET MVC

Я думаю, что смогу разобраться с тем, что говорят эти парни, - я просто надеюсь, что это все еще применимо в последней версии ASP.NET MVC!

РЕДАКТИРОВАТЬ: Есть также хороший пост об использовании VB.NET XML-литералов для механизма представления .

3 голосов
/ 06 февраля 2009

Это слишком просто, вот что я сделал:

  1. Создайте класс, производный от VirtualPathProviderViewEngine (фактически вы можете просто скопировать WebFormsViewEngine и слегка его отредактировать).
  2. Создать класс, производный от IView. Есть только один метод - положи свою магию сюда.
  3. В Global.asax.cs:

    ViewEngines.Engines.Add (new MyEngine ());

2 голосов
/ 29 января 2009

Проверьте http://mvccontrib.org/ для пары образцов различных ViewEngines. Есть 4 включенных (ну, минус один, который устарел, но код все еще доступен)

...