我知道 ASP.NET MVC 将允许我交换其他人创建的各种视图引擎,但我想知道如何创建自己的视图引擎?
更多信息: 我们有自己的基于 Web 表单的 CMS,而 MVC 的主要卖点是它为我们提供了更清晰的 HTML(我们的设计师会喜欢的)。但是,我们希望创建自己的特定于域的 View 实现。
我知道 ASP.NET MVC 将允许我交换其他人创建的各种视图引擎,但我想知道如何创建自己的视图引擎?
更多信息: 我们有自己的基于 Web 表单的 CMS,而 MVC 的主要卖点是它为我们提供了更清晰的 HTML(我们的设计师会喜欢的)。但是,我们希望创建自己的特定于域的 View 实现。
好的,我做了一些 Google-fu 并找到了这些帖子:
我想我可以从这些人所说的中解决这个问题——我只是希望它仍然适用于最新的 ASP.NET MVC 下降!
编辑:还有一篇关于使用VB.NET XML literals for a view engine的好帖子。
这太容易了,这就是我所做的:
创建一个从 VirtualPathProviderViewEngine 派生的类(实际上,您可以复制 WebFormsViewEngine 并稍微编辑它)。
创建一个从 IView 派生的类。只有一种方法——把你的魔法放在这里。
在 Global.asax.cs 中:
ViewEngines.Engines.Add(new MyEngine());
查看http://mvccontrib.org/以获得不同 ViewEngines 的几个示例。包括 4 个(嗯,减去一个已过时但代码仍然可用的)