17

我对 MVC 很陌生……我对 Silver-light、WPF 和 MVVM 有相当多的了解,但对 MVC 知之甚少。我正在关注微软网站http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/adding-a-view上的主要教程。我相信我在第 3 篇(共 9 篇)上。最初它告诉我使用“Razor”的“视图引擎”来创建我的 MVC 站点。我选择使用“ASPX”而不是“Razor”,因为我认为第三方依赖项会更少。

启动新的 MVC Web 应用程序时,最好使用“Razor”而不是“ASPX”。老实说,我不知道有什么区别。如前所述,我选择 ASPX 是为了避免任何额外的第三方 dll 或代码。如果最好选择 ASPX,我有点困惑,为什么 MS 网站上的教程告诉我从 Razor 开始。

任何人都可以阐明何时我应该使用“ASPX”视图引擎而不是“Razor”视图引擎?

4

4 回答 4

21

关于对第 3 方的依赖没有任何区别。ASPX 很好,但 Razor 更好,主要是因为它不会妨碍您。

您应该阅读 Scott Guthrie 的博客文章Introducing "Razor"

你基本上用一个符号替换了开始和结束标签<%,到目前为止,做同样事情的击键次数更少,即%>@

<%: Model.UserName %>

变成

@Model.UserName

<% foreach (string name in nameList) { .. } %>

变成

@foreach (string name in nameList) { .. }

还有比这更多的东西,但不多。

于 2012-05-08T03:20:35.600 回答
4

Razor 是 Microsoft 对 ASP.NET MVC 的内部扩展。您似乎认为 Razor 是由社区提供的,或者是 MVC 基础组件的分支,这是完全错误的。Razor 还提供比 ASPX 语法更简洁的代码。

于 2012-05-08T03:16:26.497 回答
1

您将依赖的“额外的第三方 dll 或代码”已经很成熟,绝对没有必要包括在内。你复制一次然后忘记它。也不是你必须追捕他们。Xcopy 部署非常简单。

如您所见,MS MVC 站点使用 Razor。我阅读的大多数(全部?)网站和书籍都使用 Razor。

使用 Razor,你会发现比 MVC 中的 aspx 更多的帮助。

于 2012-05-08T03:13:05.137 回答
-8

Razor 是您可以对标记做的最草率的事情。代码和标记不属于同一个文件,句号。我完全无法理解如何有人会推荐这种疯狂。

于 2012-05-08T03:21:08.520 回答