したがって、私はActionLink HTMLヘルパーとほとんどのパラメーターの使用を理解しています。私は、オブジェクトのrouteValuesパラメータの使用範囲全体を頭で囲んでいます。Html.ActionLinkヘルパーに関する質問 - 具体的にはオブジェクトのrouteValuesパラメーターの構文
しかし、私の質問は、routeValuesはあなたがViewDataを辞書から既存のオブジェクトのいずれかのようなオブジェクトを指定することができ、パラメータのためのようだということです。
Html.ActionLink("Some Text", "Edit", Model.ProductId);
か、構文初期化オブジェクトを使用することができます。
Html.ActionLink("Some Text", "Edit", new { Model.ProductId });
私の2つの質問は、
です。A)別のものを使用する理由は何ですか?私はモデルに正しい値を持つプロパティを既に持っているので、なぜ新しいものを初期化しなければならないのかを理解するのが難しいです。
B)新しいオブジェクト(var someVar = new SomeObject())をインスタンス化することは分かりますが、上記の例では何を定義していますか(new {Model.ProductID})、プロパティを指定していますか?
おかげで、
THanks for explanation - それは匿名のオブジェクトです。はい、2つ目は合法的です(A以降)。B)Steve Sandersonからまっすぐです。 – pghtech
@phgtech - それは 'id'パラメータをもたらさないでしょう、それは正しいかもしれないが、MVCのルーティングのための典型的でない' ProductId'パラメータをもたらします。 – tvanfosson
ああ、説明してくれてありがとう。 MVC/C#/プログラミングは私にとって初めてのものなので、これは私が気付かなかった貿易の事実の一つです。 – pghtech