如何为某个控制器使用某些视图引擎?
现在我的项目使用MVC2 + Spark视图引擎。我想迁移到Razor视图引擎。项目如此之大,我想逐步完成这项工作。
答案 0 :(得分:3)
完全可以同时运行两个视图引擎。由于您当前正在使用Spark,因此您可能在global.asax中有一个条目,用于清除当前视图引擎并添加Spark引擎。类似的东西:
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new ...);
MVC旨在使用FindView和FindPartial(ViewEngine界面的一部分)来查找操作的正确视图,如果它找不到列表中第一个视图引擎的视图,则会转到下一个viewengine并查找其相应的视图,直到没有任何其他视图引擎可供尝试。
由您决定是先查看Razor Views然后再回到Spark,还是反过来,所以请确保以正确的顺序放置ViewEngines。或者要使用默认引擎,您可以删除ViewEngines.EnginesClear()行并使用ViewEngines.Engines.Insert(0,...)
首先创建Spark如果不清楚,请在Spark位周围粘贴global.asax代码,我可以尝试为您提供更多帮助。