使用NVelocity和ASP.NET MVC的MasterPage / ContentPage?

时间:2009-06-05 19:46:37

标签: asp.net-mvc master-pages mvccontrib viewengine nvelocity

我是NVelocity的忠实粉丝。我认为它简洁的语法是一个巨大的福音,并有助于保持我的观点简单有效。我已经开始使用ASP.NET MVC的Mvc Contrib项目中的NVelocity视图引擎,以及Castle NVelocity .vm语法高亮显示器。

虽然我喜欢NVelocity为桌面带来的东西,但我真的错过了ASP.NET .aspx视图的一个功能,我发现它非常有用:Master Pages。

有没有人知道是否有适用于ASP.NET MVC的NVelocity视图引擎,它提供了像经典.aspx视图一样的主/子页面? Codeplex的MVCContrib项目是否支持此功能(目前MVCContrib NVelocity视图引擎的文档完全无效。)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

嗯,事实证明,用于ASP.NET MVC的NVelocity View Engine确实具有一些基本的主/子内容功能。有一个简单的#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>