我正在尝试通过将当前使用ASP.NET Webforms编写的应用程序移植到MVC来学习ASP.NET MVC。对于初学者,我打算使用默认视图引擎(WebFormsViewEngine)作为大多数教程/示例和我使用它作为默认值的书。
但是,我肯定知道将来我不想使用WebformViewEngine,一旦掌握了MVC,我想切换到另一个ViewEngine(Spark似乎很有趣)
这是一个简单的改变还是在编写新视图方面需要付出很多努力?我基本上想知道哪些会涉及更多的努力?现在学习备用ViewEngine还是稍后切换?
答案 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