2

如何为某些控制器使用某些视图引擎?

现在我的项目使用 MVC2 + Spark 视图引擎。我想迁移到 Razor 视图引擎。项目这么大,我想一步一步做。

4

1 回答 1

3

完全可以同时运行两个视图引擎。由于您当前使用的是 Spark,因此您的 global.asax 中可能有一个条目,用于清除当前视图引擎并添加到 Spark 引擎中。就像是:

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

MVC 被设计为使用 FindView 和 FindPartial(ViewEngine 接口的一部分)来为一个动作找到正确的视图,如果它无法为列表中的第一个视图引擎找到一个,它会移动到下一个视图引擎并查找为其适当的视图,直到没有任何其他视图引擎可以尝试。

它是先查找 Razor 视图然后返回到 Spark,还是相反,这取决于您,因此请确保按正确的顺序放置视图引擎。或者要使用默认引擎,您可以删除 ViewEngines.EnginesClear() 行并首先使用 ViewEngines.Engines.Insert(0, ...) 创建 Spark

如果不清楚,请在 Spark 位周围粘贴 global.asax 代码,我可以尝试为您提供更多帮助。

于 2012-07-23T14:00:51.123 回答