[ASP.NET MVC 3]
Hallo an alle,
folgende Situation:
Im Falle eines Fehlers leiten wir den Nutzer an eine Fehlerseite weiter "FatalError", nun habe ich die Anforderung das bei einem Pagerefresh versucht werden soll die Seite, welche den Fehler ausgelöst hat erneut zu laden und im Fehlerfall natürlich wieder auf die Fehlerseite umzulenken.
Kann mir jemand bezüglich dieser Situation ein paar Tipps geben wie ich dies umsetzen könnte?
Ich erwarte keine komplette Lösung, sondern nur einen Stoß in die richtige Richtung 😄.
Mit freundlichen Grüßen,
Jan
Hi,
leider hast Du nicht gesagt, wo genau Du den Fehler abfängst.
Aber Du hast in Application_Error
in der Global.asax.cs
die Möglichkeit jeden Fehler abzufangen - und wenn ich mich richtig erinner müsstest Du im sender
den Controller erhalten, in dem der Fehler auftaucht.
Ansonsten gibt es hier bestimmt in der Server.GetLastError()-
Exception einen Hinweis auf den Ursprung des letzten Fehlers, sodass Du dem Anwender einen Button anbieten kannst, mit dessen Klick er auf die eigentliche Seite zurück kommt.
In Request.Url ist die URL enthalten, in dem der Fehler auftrat. Hätte man aber sicher auch durch Debugging rausfinden können ⚠
Es ist aber kein gutes Vorgehen, dass man pauschal etwas "nochmals" probiert, da man an dieser Stelle eigentlich nur wirkliche Applikationsfehler abfangen sollte.
Geht es um spezifische Fehler, sollte man diese im eigentlichen Controller abfangen und dem Anwender einen "Nochmals versuchen"-Button anbieten, zB beim Senden einer Nachricht etc...
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo,
ich fange den Fehler mittels [HandleError] an einem Basiscontroller ab.
Mag sein das dies kein gutes Vorgehen ist, zudem kann es sein das, dass besagte Vorgehen spezialisiert nur auf bestimmte Fehler angewendet wird, das spielt jetzt aber keine Rolle die Frage war nur wie ich so etwas bewerkstelligen kann, an welchen stellen dies, wie eingesetzt wird steht hier nicht zur Debatte.
Ich hoffe das klang nicht zu harsch.... 😉
Ich werde die von dir vorgeschlagenen Möglichkeiten mal gegenprüfen!
Du kannst die Fehler bei HandleError auch spezifizieren, zB mit
[HandleError(ExceptionType = typeof(ExceptionType), View = "CustomExceptionView")]]
Mehr dazu zB unter ASP.NET MVC Preview 4 Release (Part 1)
Nichts desto trotz hast Du bei jedem Request und in jedem Controller Request.Url
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Das man den Exception-Typ bei HandleError spezifizieren kann weis ich 😉.
Nichts desto trotz hast Du bei jedem Request und in jedem Controller Request.Url
Ich glaube die Information wird mir weiterhelfen, danke 😄