Trasa z dwoma opcjonalnymi parametrami w MVC3 nie działa
W aplikacji mam następujące typy adresów URL.
localhost / admin / userdetail / id
localhost / admin / userdetail / id / true
localhost / admin / userdetail / id / true / success
Oto mój kontroler administratora
bool inSaveAction, status łańcucha jest opcjonalny
[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" });
}
Poniżej sprawa nie działa
@Html.ActionLink("DisplayName", "UserDetail", new { id = Model.Id })
W Global.asax
routes.MapRoute("UserDetail",
"UserDetail/{id}",
new
{
controller = "Admin",
action = "UserDetail",
id = UrlParameter.Optional
}
);
Jak mogę zrobić inSaveAction i status jako opcjonalny parametr dla mojej akcji UserDetail?