我是MVC的新手,我正在使用一个MVC应用程序使用aspx引擎(视图在aspx中创建)。现在需要迁移应用程序的GUI,并且我已经读过 razor 提供了优于 aspx 引擎的好处。所以,哪个更好实现。
但是,我更关注应用程序的性能及其可维护性。那么,有谁可以让我知道哪一个满足上述要求?
答案 0 :(得分:1)
你可以在一个项目中混合使用Razor和ASPX,但是你不能将ASPX中的Master页面重用为Razor布局页面(至少没有一些技巧AFAIK)。
因此,根据现有应用程序的大小和添加量,将现有页面转换为Razor或继续使用ASPX可能是有意义的。
出于可维护性原因,我个人不会在同一个应用程序中混用这两个。
评论后更新:
1000个屏幕绝对不是中型IMO,但如果你没有使用布局和/或母版页,你可能真的最好"混合它们"从新页面的更好/更容易的语法和性能中受益,但没有要求适应旧的页面。当旧页面由于其他原因而被更改时,可以逐个打印旧页面。
你的团队在进入Razor时不会遇到大问题,因为它非常接近正常编程"而且你只需要学习很少的语法和#34;特色" ...
答案 1 :(得分:1)
我想说Razor的优点如下:
简洁的语法,与您编写常规C#的方式非常相似 代码(请查看Phil Haack最近的博客文章 将Asxp与Razor语法进行比较: http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx)
输出的自动HTML编码(有助于保护您免受html攻击 注射攻击)
内置(但不是100%)验证您的标记可以帮助您 避免不平衡的标签
与页面相关的概念也可以轻松地映射到ASPX中的内容
此外,Razor有许多有用的概念,我认为这些概念比ASPX中的更好:
根据我的建议Razor是更好的选择。
答案 2 :(得分:1)
您是否阅读过ScottGu's Blog。它并没有特别关注性能,但您会对使用Razor的原因感到满意。
紧凑,富有表现力和流畅性 Razor最大限度地减少了文件中所需的字符数和击键次数,并实现了快速,流畅的编码工作流程。与大多数模板语法不同,您无需中断编码即可明确表示HTML中的服务器块。解析器非常智能,可以从代码中推断出这一点。这使得一种非常紧凑和富有表现力的语法变得干净,快速且有趣。
这个话题已经讨论了很多次。
ASP.NET MVC 3 Razor performance
答案 3 :(得分:0)
这主要取决于个人偏好,但Razor应该有很好的表现,因为它是完全编译的。此外,可维护性在我看来更好,因为更好的可读性和语法不仅是ASP.NET开发人员所熟悉的。有关完整的讨论,请查看this blog post。