In einer OnClick-Methode für eine Schaltfläche in einem ASP.NET-Webformular habe ich einen Anruf an Response.Redirect() was bewirkt, dass das System den Faden mit der Fehlermeldung abgebrochen:"Ausnahme ausgelöst: 'System.Threading.ThreadAbortException' in mscorlib.dll" bei Verwendung von Response.Redirect()
Exception thrown: 'System.Threading.ThreadAbortException' in mscorlib.dll
Es gibt ein paar Fragen ähnlich wie diese hier, ihre Lösungen mit I geändert:
Response.Redirect("~/UI/Home.aspx");
zu
Response.Redirect("~/UI/Home.aspx", false);
Context.ApplicationInstance.CompleteRequest();
Allerdings bekomme ich immer noch das gleiche Problem. Mit dem Debugger habe ich den Code durchlaufen und alles erfolgreich ausgeführt, bis ich Response.Redirect();
OnClick Funktion
protected void btnLogin_Click(object sender, EventArgs e)
{
SiteUser s = null;
try
{
string email = txtEmail.Text;
string pwd = txtPwd.Text;
s = DBConnection.login(email, pwd);
}
catch (Exception ex)
{
Console.Write(ex);
lblLoginError.Text = "Error logging in.";
}
if (s != null)
{
Session["UserSession"] = s;
Response.Redirect("~/UI/Home.aspx", false);
Context.ApplicationInstance.CompleteRequest();
}
else
{
lblLoginError.Text = "User not found. Please check your details and try again.";
}
}
Irgendwelche Gedanken darüber, warum dies passiert sein könnte?
'Response.Redirect()' * soll wirklich nicht *, dass die Ausnahme werfen, wenn das 'false' Argument ... – David
Mögliches Duplikat [Warum Response.Redirect verursacht System.Threading.ThreadAbortException ?] (http://stackoverflow.com/questions/2777105/why-response-redirect-causes-system-threading-threadabortexception) –
@Am_I_Hilfful Sehr ähnliches Problem, aber es wird nicht durch die Lösungen dort gelöst. –