Использование мастер-макета Spark с представлением Razor - PullRequest
5 голосов
/ 20 апреля 2011

Я работаю над проектом, в котором Spark использовался в качестве движка View, и было принято решение переключиться на Razor.

Мне удалось заставить Razor и Spark работать вместе в одном проекте. Единственная проблема заключается в том, что при создании представления Razor оно, очевидно, не наследует макет, а стили формируют мастер-макет Spark.

Есть ли способ сделать это без создания дубликата Razor?

Ответы [ 2 ]

7 голосов
/ 21 апреля 2011

Это будет невозможно, потому что, хотя наименования могут быть похожими (разделы / частичные и т. Д.), Детали реализации существенно различаются, поскольку системы рендеринга в Spark и Razor / WebForms различаются по стратегии. Razor выполняет рендеринг с зависимостями от самого ASP.NET для получения проанализированного результата, тогда как Spark использует свою собственную 3-проходную систему рендеринга для создания файлов классов для представлений.

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

Надеюсь, это поможет,
Rob

1 голос
/ 20 апреля 2011

Самым простым (хотя и потенциально трудоемким, в зависимости от сложности вашего основного вида) решением было бы создание дублированного макета.

В противном случае, вот сообщение в блоге о смешивании представлений и макетов WebForms и Razor: http://www.hanselman.com/blog/MixingRazorViewsAndWebFormsMasterPagesWithASPNETMVC3.aspx. Это в значительной степени хак, но, вероятно, его можно адаптировать для работы со Spark.

...