Razor与ASPX语法的比较

Cur*_*urt 16 asp.net syntax razor asp.net-mvc-3

最近我进入了MVC3和Razor,并阅读了几篇关于这些主题的文章,以便更好地理解这个概念.

我一直在阅读Scott Guthrie的博客文章,其中他提供了以下两个例子.第一个是ASPX语法,第二个是Razor语法:

在此输入图像描述

在此输入图像描述

这很棒,但作为ASPX和Razor的公平比较,我有点困惑.

我从来没有见过像这样的ASPX语法的任何工作示例.Repeater自ASP.NET发布以来,开发人员肯定使用过控件等?自从经典ASP以来,我还没有看过类似的语法.

我一直认为将编程代码与标记文件内联,而不是代码隐藏文件是不好的做法.

这样的ASP.NET ASPX开发人员代码是什么?

mus*_*fan 11

我想你肯定会感到困惑.你的第一个例子不是传统的asp.net.这是MVC渲染引擎用于使用pre-razor的内容(MVC 1和MVC 2 - 我相信它被称为WebForms视图引擎).

我非常确定你不能在传统的ASP.Net页面中使用foreach.(Veli的评论纠正了我)

使用MVC 3,您可以选择使用Razor视图引擎,正如您在示例中看到的那样,它更具可读性.当然,使用MVC 3,您仍然可以选择以其他方式执行此操作,这是您在创建初始项目时选择的选项.

您可以在此处阅读有关差异的更多信息

  • 是的,虽然你_can_使用foreach而且上面会在"传统的"asp.net页面中呈现得很好,但这并不是一个好的做法. (5认同)

Dar*_*rov 6

这样的ASP.NET ASPX开发人员代码是什么?

我对此表示怀疑.经典WebForms开发人员使用服务器端控件,如转发器.

另一方面,ASP.NET MVC开发人员非常使用这种语法.好吧,实际上你可以在ASP.NET MVC中使用显示模板,这可以避免你编写丑陋的foreach循环.