いくつかの入力ボックスを備えた単純なhtmlフォームがあります。[保存]をクリックすると、正しい方法が見つかりますが、データがおかしいです。ルート内のフィールドと同じ名前のフォームフィールド名がある場合、渡される値はルートデータではなく、フォームフィールドデータです。
例えば。
次のルートがあると想像してください。
// Both Get/Post
routes.MapRoute(
"User-Edit",
"user/{displayName}/edit",
new { controller = "Account", action = "edit" });
そして次の方法...
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit([Bind(Exclude = "UserId")]string displayName,
FormCollection formValues)
{...}
ここで、ルートに変数があり、コントローラーアクションにも?displayName
という引数があることに注意してください。displayName
さて、引数データは、ルートではなく、フォームからのものです。
引数データがルートデータであることを確認する方法がわかりませんか?
ここで、ルート変数の名前をtoなどに変更する唯一の修正はありdisplayName
ますrouteDisplayName
か?