5

我知道 ASP.NET MVC 将允许我交换其他人创建的各种视图引擎,但我想知道如何创建自己的视图引擎?

更多信息: 我们有自己的基于 Web 表单的 CMS,而 MVC 的主要卖点是它为我们提供了更清晰的 HTML(我们的设计师会喜欢的)。但是,我们希望创建自己的特定于域的 View 实现。

4

3 回答 3

5

好的,我做了一些 Google-fu 并找到了这些帖子:

在 ASP.NET MVC 应用程序中添加对皮肤的支持

ASP.NET MVC 中的部分渲染和视图引擎

我想我可以从这些人所说的中解决这个问题——我只是希望它仍然适用于最新的 ASP.NET MVC 下降!

编辑:还有一篇关于使用VB.NET XML literals for a view engine的好帖子。

于 2008-12-27T12:42:45.457 回答
3

这太容易了,这就是我所做的:

  1. 创建一个从 VirtualPathProviderViewEngine 派生的类(实际上,您可以复制 WebFormsViewEngine 并稍微编辑它)。

  2. 创建一个从 IView 派生的类。只有一种方法——把你的魔法放在这里。

  3. 在 Global.asax.cs 中:

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

于 2009-02-06T20:26:40.177 回答
2

查看http://mvccontrib.org/以获得不同 ViewEngines 的几个示例。包括 4 个(嗯,减去一个已过时但代码仍然可用的)

于 2009-01-29T09:00:44.363 回答