4

私は初めてMVC(MVC4)を学び、http: //www.asp.net/mvcからMvcMusicStoreチュートリアルを完了しています。

チュートリアルはMVC3用に書かれており、次のコードを書いているので(MVC4プロジェクトで)

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

Visual Studioは、次のように入力した後、自動的に「オブジェクト」を挿入new {します。

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

一方の方法がもう一方の方法よりも正しいのでしょうか、それともMVCバージョンの違いで、より多くのコードが定義されているのでしょうか。

4

1 に答える 1

6

構文

new object{ id = album.AlbumId }

「id」はオブジェクトのプロパティではないため、コンパイラエラーが発生するはずです。

構文

new { id = album.AlbumId }

正しい。idというプロパティを持つ匿名タイプを作成します

ビューでは、コンパイル時にコンパイラエラーが発生しないことに注意してください(直感に反するように思われるかもしれません)。ビューは実行時にコンパイルされます。ビューのソースコードのエラーの下に問題を示す赤い波線が表示される場合がありますが、それが機能するのはたまにしかありません。

VisualStudioが新しいの後に間違ったオブジェクトを挿入するのと同じ問題が発生しました。

于 2012-11-12T19:39:07.303 に答える