【问题标题】:Comparions of Razor vs ASPX syntax [closed]Razor 与 ASPX 语法的比较 [关闭]
【发布时间】:2012-03-30 18:29:03
【问题描述】:

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

我一直在阅读Scott Guthrie's Blog Post,他在其中提供了以下 2 个示例。第一个是 ASPX 语法,第二个是 Razor 语法:

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

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

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

有没有 ASP.NET ASPX 开发人员编写这样的代码?

【问题讨论】:

    标签: asp.net asp.net-mvc-3 syntax razor


    【解决方案1】:

    我认为您肯定会感到困惑。您的第一个示例不是传统的 asp.net。这就是 MVC 渲染引擎过去使用的 pre-razor(MVC 1 和 MVC 2 - 我相信它被称为 WebForms 视图引擎)。

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

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

    You can read more about the differences here

    【讨论】:

    • 干杯,我不认为这只是一个 MVC 比较。我假设它显示了 aspx webforms 和 razor mvc 之间的区别!
    • 是的,虽然您可以使用 foreach 并且上述内容在“传统”asp.net 页面中呈现得很好,但这并不是一个很好的做法。
    【解决方案2】:

    有没有 ASP.NET ASPX 开发人员编写这样的代码?

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

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

    【讨论】:

    • 干杯我开始认为像这样的内联语法对于网络表单很常见。我没有考虑到 MVC1/MVC2
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-04
        • 1970-01-01
        • 2013-02-28
        相关资源
        最近更新 更多