在使用ASP.NET网页查看最新版本的Razor视图引擎时,它看起来不错,因为它具有完整的Razor支持 . 那么有人可以给我一个推理,为什么我可能想要选择带有Razor视图引擎的ASP.NET网页而不是传统的Web表单,或者它是ASP.NET MVC中的Razor视图引擎伴侣?
根据网页,我说的是VS 2010 SP 1提供的这个新网站框架:http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax
谢谢 .
3 回答
[修改后回答 Headers 中提出的问题]
作为一名经验丰富的开发人员,当您想要快速完成某些事情(例如POC),或者如果您想教某人如何开始使用ASP.NET时,您可以使用Web页面框架 .
您在这里提出两个不同的问题:Web窗体视图引擎与MVC中的Razor视图引擎,以及Web页面框架与Web窗体框架 .
正如其他人所说,第一个决定将取决于偏好 . 对方没有做任何事情 . 这有点像C#或VB辩论 .
Web页面框架旨在为初学者提供比Web窗体或MVC更容易的"in" . 对于更简单的经典ASP框架来说,它可以被认为是一个非常迟来的替代品,它在这方面与PHP竞争 . 如果您需要分离,可测试性等,您应该查看MVC框架 . Web页面框架在企业开发方法方面并没有提供很多东西 . 用于Web表单你不太可能从Web页面获得任何东西 . 分离要困难得多 . 它不鼓励分层代码或测试 . 没有服务器控件或代码隐藏文件 . Web页面仅提供Web站点部署(首次编译时编译),而不是可以预编译的Web应用程序 .
Razor本身是为Web Pages框架开发的 . MVC喜欢它并将其用作新的视图引擎选项 . 但实质上,您现在有三个ASP.NET框架可供选择:Web页面,Web窗体和MVC .
剃刀中的标记更具可读性 . 如果您的产品已经使用了Web表单视图引擎,那么您可以在转换到剃刀视图时与它并排运行剃刀,这在中型到大型项目中可能会有很多工作 . 请记住,在此过渡期间,partials可能是剃刀或Web表单,但视图和它使用的母版页必须使用相同的引擎 .
选择剃刀的主要原因:
Terse - 页面的HTML结构很明显,并且到处都没有很多
<%
和%>
. (我喜欢干净的HTML . 它让我的强迫症发痒...)Fluent - 服务器端代码和HTML之间的简单转换,而不强制您显式地进行上下文切换 .