0

以前はデフォルトのルーティングを維持していましたが、競合が原因でデフォルト パラメータidをに変更しましたparamid

通常、ビューで次のようなコードを使用していました。

@Url.Action("Edit", "Suivis", new {o.ID})

そして、これはコントローラーで:

public ActionResult Edit(int id) { ... }

しかし、それはもう機能しません。使用する必要があります:

@Url.Action("Edit", "Suivis", new {paramid = o.ID})

これは私のコントローラーのコードです:

public ActionResult Edit(int paramidid) { ... }

私の質問は: ビューでパラメーター名を指定する必要があるのはなぜですか?

4

1 に答える 1

1

元のアクションで:

@Url.Action("Edit", "Suivis", new {o.ID})

匿名型が同じ名前 (ID) で作成されていました。ID のパラメーターからルートが期待するものを paramid に変更する必要があったため、新しい {ID = o.ID} に変換されている o.ID を渡そうとすると、ルートは一致しません。パラミドを探しています。

ビューモデルの場合、プロパティを paramid に変更できます -

@Url.Action("Edit", "Suivis", new {o.paramid})

それは再び機能します - しかし、これはそれが価値があるよりも多くの問題かもしれません.

于 2012-10-12T15:00:31.037 に答える