Je travaille sur un exemple d'application où j'ai un registre et des actions de détail. Je souhaite rediriger vers la vue détaillée après avoir enregistré une nouvelle équipe.MVC à rediriger avec des valeurs de route au lieu de la chaîne de requête
Mon code postal Regsiter ressemble à ceci;
[HttpPost]
public async Task<ActionResult> Register(TeamEditorVm teamRegisterVm)
{
if (ModelState.IsValid)
{
var teamDetailVm = await Managers.TeamManager.CreateAsync(teamRegisterVm);
return RedirectToAction("Details", new { id = teamDetailVm.Id });
}
return View(teamRegisterVm);
}
Y at-il un moyen de forcer RedirectToAction("Details", new { id = teamDetailVm.Id });
d'utiliser des valeurs de route pour l'URL comme
hxxps://test.com/team/detail/1
au lieu d'un querystring?
hxxps://test.com/team/detail?id=1
Il va générer '../ team/details/1' si vous utilisez le routage par défaut. Montre tes définitions d'itinéraire actuelles et la signature de la méthode 'Details()' –
Merci pour cette idée - J'ai une capture de tout l'itinéraire et je l'ai ajouté juste avant l'itinéraire par défaut et ça l'empêche de reconnaître ce pattern (controller/action/id). Je l'ai changé pour ajouter l'itinéraire par défaut d'abord, puis la route "attraper tout" et il a commencé à travailler. Merci! –