2008-12-10 74 views
2

我想在我的asp.net mvc web应用程序中使用两个视图引擎。 第一个是来自MVCContrib项目的Brail视图引擎,另一个是用于生成JavaScript代码的自定义视图引擎。 但是,我无法配置应用程序使用两个引擎。我想使用视图文件扩展名来辨别哪些引擎应该处理请求 - 对抄网引擎 .brail - 以.json - 为我定制的引擎如何在ASP.NET MVC应用程序中使用多个视图引擎

当我添加两个引擎的ViewEngines集合中的Global.asax .cs,系统一直在寻找* .brail视图,如果没有找到则抛出异常。它永远不会查找我的* .json视图... 它是与ASP.Net mvc框架,与Brail视图引擎或与我的代码的问题?应该如何处理?

回答

2

我相信你可以在控制器中改变你的视图引擎。所以我会扩展你的控制器来扩展选择一个视图引擎。

+0

这不是必需的。 ViewEngines已经告诉框架他们可以处理哪些扩展。 – 2008-12-11 14:22:14

3

Like this.

编辑:如果您的自定义视图引擎不处理*上传.json,你可能会在你的视图引擎的错误。处理这个问题的最简单方法是子类型VirtualPathProviderViewEngine,并在构造函数中设置MasterLocationFormats,ViewLocationFormats和PartialViewLocationFormats。查看WebFormViewEngine的源代码,获取一个非常简单的示例。这样框架代码可以为你解决所有问题。

相关问题