Hat jemand anderes dieses Problem? Ich muss etwas falsch machen.ASP.Net MVC: Also warte ... Der Default Route Parameter muss ID benannt werden?
eine Route für Fehler wie diese So Einrichten ich:
routes.MapRoute
(
"SharedError",
"Shared/Error/{error}",
new { error = "" }
);
Und Aufruf wie:
return parentController.RedirectToRoute("SharedError", new RouteValueDictionary(new { error = errorMessage.ToString() }));
Und auf dem Controller:
public ActionResult Error(String error)
Einfach richtig? Nun, wenn dies tatsächlich ausgeführt wird, Fehler null ist trotz der URL aussehen wie:
/Shared/Error/ThisIsTheError
Aber der Fehlerparameter in der Error-Methode ist null. (Und ja ich habe andere Wörter versucht)
Jetzt, wenn ich alles mit dem Wort "Identifikation" ersetze, funktioniert alles.
Global.asax.cs
routes.MapRoute
(
"SharedError",
"Shared/Error/{id}",
new { id = "" }
);
Redirect:
return parentController.RedirectToRoute("SharedError", new RouteValueDictionary(new { id = errorMessage.ToString() }));
Geteilt Controller:
public ActionResult Error(String id)
Ist id ein Wort für alle Routen haben müssen, wenn Sie eine Standardroute haben einen Wert annehmen?
Richtig, aber es sollte neu sein {controller = "Shared", action = "Error", error = ""} – CoderDennis
Versucht, dass noch aufgebockt ist. –
Korrigiert (obwohl ich nicht glaube, dass das OP seinen Controller-Namen erwähnt hat). – DSO