RedirectToRoutePermanent accepteert geen actie als parameter

Ik zou dit graag willen doen:

return RedirectToRoutePermanent("Dealers", new { action = "Join" });

maar in plaats daarvan moest ik dit doen om het te laten werken:

return RedirectPermanent("/dealers/join");  

Join is een actie in de Dealers-controller en een andere route werkt prima als deze wordt gerouteerd naar de Dealers-controller. Maar wanneer ik dingen op deze manier probeer, worden er fouten gemaakt zonder dat er een route wordt gevonden. Om het even welke ideeën?

1

4 antwoord

return RedirectToActionPermanent("Join", "Dealers");
1
toegevoegd

Er is misschien een betere manier, maar kun je Url.Action() gewoon toevoegen aan je methode in de call?

0
toegevoegd

Op basis van de MSDN-referentie heeft de ReidrectToRoutePermanent een stringparameter die moet zijn de routenaam en niet de controllernaam. Als u op de standaardroute vertrouwt om naar/dealers/join te gaan, werkt dit niet. Hoe ziet uw routeringstabel eruit? Kun je de Register Routes-code bijvoegen? Verder denk ik dat je een methode wilt RedirectToActionPermanent als u binnen de scope van de actiemethode voor Controller uitvoert.

0
toegevoegd

U kunt RedirectToRoutePermanent gebruiken. RedirectToRoutePermanente methode werkt met RouteName. Dus, u moet uw RouteNaam doorgeven als eerste parameter en Route-parameters als tweede parameter.

U moet ook de naam van de controller vermelden. Zoiets als,

return RedirectToRoutePermanent("YourRouteName", new { controller="Dealers", action = "Join" });

Hope helpt.

0
toegevoegd