我已经定义了以下自定义路线:
routes.MapRoute(
"EditSearch",
"EditUser/Edit/{userId}",
new { controller = "EditUser", action = "Edit" }
);
当我手动输入 URL 时,路由工作得很好。但是,当我的搜索页面的 GET 表单发布时,URL 显示为../EditUser/Edit/?userId=aaa9999
. GET 表单在我的 Search.cshtml 文件中定义为@using (Html.BeginForm("Edit", "EditUser", FormMethod.Get ))
,并且应该将userId
参数发送到 Edit 操作。
我的 Search.cshtml 页面有一个Html.EditorFor(model => model.userId)
包含我希望在我的 URL 地址中显示的 userId 参数。
当按下“搜索”按钮时,我希望我的搜索页面指向下面的 URL:
../EditUser/Edit/aaa9999
PS 我知道 EditUser 控制器名称和 Edit 操作名称是多余的,但我稍后会修复它。