mvc4 new {vs new object {

时间:2012-11-12 19:36:32

标签: asp.net-mvc

我第一次学习MVC(MVC4),并从http://www.asp.net/mvc完成MvcMusicStore教程

本教程是为MVC 3编写的,因为我正在编写以下代码(在我的MVC4项目中)

@Html.ActionLink(album.Title, "Details", new { id = album.AlbumId })

在我输入new {给我后,visual studio会自动插入'对象':

@Html.ActionLink(album.Title, "Details", new object{ id = album.AlbumId })

是否有一种方法比另一种方式更正确,或者MVC版本的差异是否有更多定义的代码?

1 个答案:

答案 0 :(得分:6)

语法

new object{ id = album.AlbumId }

应该产生编译器错误,因为“id”不是 object 的属性。

语法

new { id = album.AlbumId }

是对的。它会创建一个anonymous type,其中包含一个名为 id

的属性

请注意,在视图中, 视图在运行时中编译。您可能会在视图源代码中的错误下看到一个红色波形,表示存在问题,但我发现它只能在有时工作。

我已经看到Visual Studio在 new 之后注入了错误的对象时出现了同样的问题。