Nella mia applicazione sono presenti i seguenti tipi di URL.Rotta con due parametri opzionali in MVC3 non funzionante
localhost/admin/userdetail/id
localhost/admin/userdetail/id/vero
localhost/admin/userdetail/id/vero/successo
Ecco il mio controller Admin
bool inSaveAction, lo stato di stringa sono opzionali
[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" });
}
Sotto caso non funziona
@Html.ActionLink("DisplayName", "UserDetail", new { id = Model.Id })
In Global.asax
routes.MapRoute("UserDetail",
"UserDetail/{id}",
new
{
controller = "Admin",
action = "UserDetail",
id = UrlParameter.Optional
}
);
Come posso fare inSaveAction & status di parametro opzionale per la mia azione UserDetail?
Ho provato con il codice che dai. Anche questo non funziona. Non sta prendendo il metodo di azione. Qualche problema con i parametri del routing o del metodo di azione? –
Ho appena pubblicato una modifica, è necessario rendere nullable id e inSaveAction. Ma cosa non funziona? Ho provato questo e tutti i percorsi funzionano. – mfanto
Grazie. stato anche solo opzionale. –