4

我是第一次学习 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 版本有更多定义的代码?

4

1 回答 1

6

语法

new object{ id = album.AlbumId }

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

语法

new { id = album.AlbumId }

是正确的。它创建一个具有名为id的属性的匿名类型

请注意,在视图中,您不会在编译时收到编译器错误(这可能看起来违反直觉)。视图在运行时编译。您可能会在视图源代码中的错误下方看到一个红色波浪线,表明存在问题,但我发现它仅在某些时候有效。

我已经看到 Visual Studio在new之后注入不正确的对象的相同问题。

于 2012-11-12T19:39:07.303 回答