首页 文章

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

提问于
浏览
2

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

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

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

3 回答

  • 0

    它应该像打电话一样简单

    SparkEngineStarter.RegisterViewEngine(ViewEngines.Engines);
    

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

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

  • 1

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

    其次,你可能正在寻找一个视图引擎,它可以占用你逻辑和代码中构建的大部分其他视图(即不是用户控件),而且我指的是蜜蜂之间的东西( <%= blah %> ) .

    显然,WebForms视图引擎确实支持相同的语法,但是你也说你特别喜欢知道Spark也支持 <%= blah %> 语法,这是专门为支持这样的迁移而做的 .

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

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

    希望有所帮助,

    祝一切顺利,

    罗布G.

  • 1

    看起来你的应用程序中可以有一个混合的视图引擎包... link

    另请参阅Phil Haack中的这篇文章,其中显示了使用不同视图引擎在同一页面上渲染的局部视图 .

    这将允许您简单地切换到新语法,而不需要重写所有现有视图 .

相关问题