Laden...

ASP.NET MVC - Versuchen bei Pagerefrehs Ursprungsseite zu laden

Erstellt von iced-t89 vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.766 Views
I
iced-t89 Themenstarter:in
279 Beiträge seit 2008
vor 12 Jahren
ASP.NET MVC - Versuchen bei Pagerefrehs Ursprungsseite zu laden

[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

16.806 Beiträge seit 2008
vor 12 Jahren

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...

I
iced-t89 Themenstarter:in
279 Beiträge seit 2008
vor 12 Jahren

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!

16.806 Beiträge seit 2008
vor 12 Jahren

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

I
iced-t89 Themenstarter:in
279 Beiträge seit 2008
vor 12 Jahren

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 😄