我第一次学习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版本的差异是否有更多定义的代码?
答案 0 :(得分:6)
语法
new object{ id = album.AlbumId }
应该产生编译器错误,因为“id”不是 object 的属性。
语法
new { id = album.AlbumId }
是对的。它会创建一个anonymous type,其中包含一个名为 id
的属性请注意,在视图中, 视图在运行时中编译。您可能会在视图源代码中的错误下看到一个红色波形,表示存在问题,但我发现它只能在有时工作。
我已经看到Visual Studio在 new 之后注入了错误的对象时出现了同样的问题。