Ich bereite etwas Legacy-Framework-Code und eine riesige Menge davon ist einfach durch Ausnahme codieren. Es werden keine Werte überprüft, um festzustellen, ob sie null sind. Daher werden zahlreiche Ausnahmen ausgelöst und abgefangen.Wie zu vermeiden "Response.Redirect kann nicht in einem Page Callback aufgerufen werden"
Ich habe die meisten von ihnen aufgeräumt, jedoch gibt es ein paar Fehler/Login/Sicherheit bezogenen Framework-Methoden, die Response.Redirect tun und jetzt, dass wir Ajax verwenden, bekommen wir viel von "Response .Redirect kann nicht in einem Seiten-Callback aufgerufen werden. " Und ich würde das gerne vermeiden, wenn irgend möglich.
Gibt es eine Möglichkeit, diese Ausnahme programmatisch zu vermeiden? Ich bin auf der Suche nach so etwas wie
if (Request.CanRedirect)
Request.Redirect("url");
Hinweis, dies auch mit Server.Transfer geschieht, so dass ich mag in der Lage sein zu überprüfen, ob ich in der Lage bin Request.Redirect OR Server.Transfer zu tun.
Derzeit seine einfach tun dies
try
{
Server.Transfer("~/Error.aspx"); // sometimes response.redirect
}
catch (Exception abc)
{
// handle error here, the error is typically:
// Response.Redirect cannot be called in a Page callback
}
Wo in HttpContext.Current kann ich IsCallback finden? Ich habe nicht immer eine Seite –
Ah, fand es, ich fügte den Code hinzu, den ich zu Ihrer Antwort verwendete, da Ihr Schnipsel wirklich alles ist, was ich brauchte. Ich kann nicht glauben, dass ich nicht an etwas so Einfaches denke, heh. Danke mann –