在Asp.NET MVC中更改视图引擎

时间:2010-11-15 12:39:22

标签: asp.net-mvc spark-view-engine

我正在尝试通过将当前使用ASP.NET Webforms编写的应用程序移植到MVC来学习ASP.NET MVC。对于初学者,我打算使用默认视图引擎(WebFormsViewEngine)作为大多数教程/示例和我使用它作为默认值的书。

但是,我肯定知道将来我不想使用WebformViewEngine,一旦掌握了MVC,我想切换到另一个ViewEngine(Spark似乎很有趣)

这是一个简单的改变还是在编写新视图方面需要付出很多努力?我基本上想知道哪些会涉及更多的努力?现在学习备用ViewEngine还是稍后切换?

3 个答案:

答案 0 :(得分:1)

您的应用程序看起来可能有一堆混合的视图引擎...... link

另请查看Phil Haack中的这篇文章,其中显示了使用不同视图引擎在同一页面上呈现的部分内容。

这样您就可以简单地切换到新语法,而无需重写所有现有视图。

答案 1 :(得分:1)

好的 - 首先你在Web假设上有一个相当规模的投资我正在假设,并且凭借这一点,你将在现有表格上有相当数量的用户控制等。我相信你已经知道了这本身就是这个过程中最多的工作,并且与您选择的视图引擎无关,因为即使WebForms MVC视图引擎也不直接支持用户控件。无论如何,这部分工作仍然需要完成......

其次,您可能正在寻找一个视图引擎,它可以使用逻辑和代码(即非用户控件)构建的其他视图的大多数,并且我的意思是蜜蜂之间的东西-stings(<%= blah %>)。

显然,WebForms视图引擎确实支持相同的语法,但您也说您特别不想使用默认的WebForms视图引擎。那么你会很高兴地知道Spark也支持<%= blah %>语法,这是专门为支持这样的迁移而做的。

在决定之前,最好的选择是观看this recent video here,看看Louis如何通过简单的基于WebForms的MVC解决方案,即使代码仍然包含<%= blah %>语法,它仍能正常运行。< / p>

此支持使转换更容易,当您准备就绪时,您可以开始将代码转换为更推荐的使用${blah}语法的方式。但这可以按照自己的进度完成,同时整体功能仍然有效。

希望有所帮助,

一切顺利,

Rob G

答案 2 :(得分:0)

它应该像调用

一样简单
SparkEngineStarter.RegisterViewEngine(ViewEngines.Engines);

SparkEngineStarter应该是Spark的Mvc部分的一个类。

火花的文档实际上非常好。查看section on getting it to run in ASP.NET MVC