Antwort.RedirectToRoute mit einer Aktion angegeben
Ich Wünsche Umleitung zu einer route, sondern auch angeben, welche Aktion ausgeführt, die route controller.
Habe ich versucht, dieses:
Response.RedirectToRoute("Login", new { action = "ChangePassword" });
Die Aktion sieht wie folgt aus:
public ActionResult ChangePassword()
{}
Die route sieht wie folgt aus:
routes.MapRoute("Login", "Login/{action}", new { controller = "Login",
action = "Index" } );
Den Fehler den ich bekomme, ist :
System.NotImplementedException: Die Methode oder Vorgang ist nicht implementiert.
Können Sie sehen, was ich falsch mache?
- Es ist ein bug in MVC3. @ajay_whiz Lösung für mich gearbeitet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte auch eine harte Zeit mit diesem. Ich habe diese
Application_Error
. Es ist natürlich möglich, eine neue Instanz zu erstellen, Frage, ob eine statische Instanz existiert überall.UrlHelper.GenerateUrl()
Methode. Um RequestContext schreiben Sie((MvcHandler)HttpContext.Current.Handler).RequestContext
new { }
für die Festlegung der Routen.UrlHelper
durch die übergabe derRequestContext
in seinem Konstruktor und usign die RouteUrl MethodeGut, man bekommt nur
NotImplementedException
wenn etwas wirft, es. So suchen Sie in der Stapel-Ablaufverfolgung (Call-Stack) und finde die routine, die Sie warf. Wenn VS automatisch eine Schnittstelle implementiert, zum Beispiel, wird der Körper zu werfen; Sie sind voraussichtlich zu ersetzen, die Umsetzung.RedirectToRoute
nicht werfen. Aber die Sache, dieRedirectToRoute
schließlich werden Ursachen genannt (sagen wir, eine Funktion durch Ihre Aktion) nur könnte. Versuchen Sie suchen in einem Stapel auf jederInnerException
Sie haben könnten.RedirectToRoute
nicht (direkt) werfen Ausnahmen überhaupt. Ich schaute gerade in die MVC-source-code, um dies zu bestätigen. Eine andere Funktion ist das werfen dieser Ausnahme.