MasterPage / ContentPage с NVelocity и ASP.NET MVC?

Я большой поклонник NVelocity. Я считаю, что его лаконичный синтаксис - огромное благо и помогает сохранять мои взгляды простыми и эффективными. Я начал использовать механизм просмотра NVelocity из проекта Mvc Contrib для ASP.NET MVC вместе с подсветкой синтаксиса Castle NVelocity .vm.

Хотя мне нравится то, что предлагает NVelocity, мне действительно не хватает одной функции представлений ASP.NET .aspx, которые я считаю чрезвычайно полезными: мастер-страницы.

Кто-нибудь знает, есть ли механизм представления NVelocity для ASP.NET MVC, который предоставляет страницы Master / Child, такие как классические представления .aspx? Поддерживает ли это проект MVCContrib от Codeplex (на данный момент отсутствует полная документация по механизму представления MVCContrib NVelocity).

Любая помощь приветствуется.


person jrista    schedule 05.06.2009    source источник


Ответы (1)


Что ж, как оказалось, движок NVelocity View Engine для ASP.NET MVC действительно имеет некоторые базовые возможности основного / дочернего контента. Существует простая команда #parse (), которая может использоваться для рендеринга дочерних представлений ... при использовании с переменной шаблона $ childContent возникает простая взаимосвязь между главной страницей и страницей содержимого:

<head>
  <title>My Page with Master Page</title>
  <link href="$Url.Content('~/Views/Common/Site.css')" rel="stylesheet" type="text/css" />
</head>
<body>
  <div id="header">
    #parse("shared/header.vm")
  </div>
  <form>
  <div id="content">
    #parse($childContent)
  </div>
  <div id="footer">
    #parse("shared/footer.vm");
  </div>
  </form>
</body>
person jrista    schedule 06.06.2009