私のアプリケーションには次の種類のURLがあります。MVC3の2つのオプションパラメータを使用してルートが動作しない
ここローカルホスト/管理/ userdetail/ID
ローカルホスト/管理/ userdetail/ID /真
ローカルホスト/管理/ userdetail/ID /真/成功
は
ブールinSaveAction、文字列の状態ケースの下にオプションである
[Authorize]
public ActionResult UserDetail(string Id, bool inSaveAction, string status)
{
}
[HttpPost, Authorize, ValidateAntiForgeryToken]
public ActionResult SaveUserDetail(UserDetailViewModel viewModel)
{
User userToSave = new User();
AdminService.UpdateUser(userToSave);
//This is calling the above function as it sending all 3 params
return RedirectToAction("UserDetail", new { Id = viewModel.Id,
inSaveAction = true, status = "success" });
}
を動作していない私の管理コントローラでありますGlobal.asaxのが
routes.MapRoute("UserDetail",
"UserDetail/{id}",
new
{
controller = "Admin",
action = "UserDetail",
id = UrlParameter.Optional
}
);
で
@Html.ActionLink("DisplayName", "UserDetail", new { id = Model.Id })
私はどのように私は私のUserDetailアクションのためのオプションパラメータとしてinSaveAction &状態を作ることができますか?http://haacked.com/archive/2011/02/20/routing-regression-with-two-consecutive-optional-url-parameters.aspx
を追いましたか
私はあなたが与えたコードを試してみました。これも機能しません。それは行動方法に取っていません。ルーティングやアクションメソッドのパラメータに問題はありますか? –
私はちょうど編集を投稿しました。あなたはidとinSaveActionをnullにする必要があります。何がうまくいかない?私はこれをテストし、すべてのルートが動作します。 – mfanto
ありがとうございます。ステータスもオプションです。 –