在ASP.NET MVC 2项目中同时使用Razor和Spark

时间:2012-07-23 10:18:44

标签: c# asp.net-mvc razor spark-view-engine

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

现在我的项目使用MVC2 + Spark视图引擎。我想迁移到Razor视图引擎。项目如此之大,我想逐步完成这项工作。

1 个答案:

答案 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代码,我可以尝试为您提供更多帮助。