【问题标题】:Why did ASP.NET MVC regress back to Classic ASP markup?为什么 ASP.NET MVC 回归到经典 ASP 标记?
【发布时间】:2011-08-19 21:51:09
【问题描述】:

我正在学习 ASP.Net MVC,我非常喜欢 MVC 提供的关注点分离,以及开发的模型/视图/控制器理论!

但是,我有旧 html 的创伤后闪回!我很难理解这对于编码和调试来说是多么可怕!

到底为什么 MS 开发人员会退回到那种编码风格??

似乎 ASP.Net 控件在 HTML 标记方面向前迈进了一步,但显然我错过了更大的难题。

有人能帮我理解我们从 经典的 ASP 标记样式中获得什么好处而不是 ASP.Net WebForm 样式吗?

谢谢

【问题讨论】:

标签: asp.net html asp.net-mvc


【解决方案1】:

如果您不喜欢这种语法,那么我建议您使用 Razor 视图引擎 (ASP.NET MVC 3),其中使用 @ 而不是 <%: %>

我猜测他们为什么使用相同的语法是因为他们最初开发 ASP.NET MVC 时编写的代码可能更少,而且很多用户不必学习新语法。现在已经有一段时间了,他们在 Razor 视图引擎中引入了一种新语法,该语法更加简洁。

【讨论】:

  • 哦,太好了!我正在从一本使用 VS2008 的旧书中学习。我会检查 Razor。谢谢!
【解决方案2】:

您可以将其替换为另一个 ViewEngine,从而使您的语法更加灵活。 MVC 3 现在附带 Razor 作为另一个预打包选项。要为您选择合适的视图引擎,请查看 this 视频。

【讨论】:

  • 默认情况下不是。您需要 MVC3,这是最新版本。
【解决方案3】:

我认为基本思想是,如果框架促进了视图与底层数据和业务逻辑之间的良好分离,则可以为视图使用动态标记样式。在糟糕的旧 ASP 时代,没有任何东西强制甚至促进这种分离,因此我们最终得到了很多非常非常混乱的代码。

【讨论】:

    【解决方案4】:

    如果您发现自己偏离了偶尔的循环、if...then 和标记中的对象属性访问,这应该只产生 html 输出,那么您可能使用了错误的工具来完成这项工作

    很多人都喜欢这样的敏捷脚本。它诞生于 ruby​​ on rails 的嗡嗡声。你可以让它编译和类型安全,你可以单步执行,所以编译的“代码隐藏天”语言的所有优点。

    对于 asp.net/web 表单。生命周期?查看状态?不用了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 2011-03-23
      相关资源
      最近更新 更多