次のカスタム ルートを定義しました。
routes.MapRoute(
"EditSearch",
"EditUser/Edit/{userId}",
new { controller = "EditUser", action = "Edit" }
);
URL を手動で入力すると、ルートは完全に正常に機能します。ただし、検索ページの GET フォームを投稿すると、URL が のように表示され../EditUser/Edit/?userId=aaa9999
ます。GET フォームは Search.cshtml ファイルで として定義されており、パラメーターを Edit アクションに@using (Html.BeginForm("Edit", "EditUser", FormMethod.Get ))
送信する必要があります。userId
私の Search.cshtml ページにはHtml.EditorFor(model => model.userId)
、URL アドレスに表示したい userId パラメータを保持する があります。
「検索」ボタンを押すと、検索ページが次の URL に移動するようにします。
../EditUser/Edit/aaa9999
PS EditUser コントローラー名と Edit アクション名が重複していることはわかっていますが、後で修正します。