繁体   English   中英

Razor与ASPX语法的比较[关闭]

[英]Comparions of Razor vs ASPX syntax [closed]

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

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

在此输入图像描述

在此输入图像描述

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

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

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

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

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

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

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

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

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

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

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

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

对于使用MVVM架构的C#WinForm / WPF开发人员来说,情况确实如此。 但是,我认为将编程代码内联在ASP.NET MVC中仍然是一种很好的做法。

不要混淆编程代码和代码来显示属性。 将编程代码放在标记文件中是不好的做法。 但是,您显示的代码是用于生成标记的代码。

MVC应该被视为普通的MVC框架,所有逻辑代码都应该在Controller中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM