Ich verwende den folgenden Code, um Ausnahmen in meinem Formview zu löschen. Das Problem ist, ich möchte dem Benutzer eine einfache Erklärung geben, sollte ein Fehler auftreten, aber ich kann keinen Weg finden, dies einfach zu tun. Ich sollte sagen, ich bin neu in ASP.NET. In der Vergangenheit hätte ich eine ERROR_NO verwendet, um Fehler zu erfassen, aber ich kann das Äquivalent hier nicht finden. Ich kann sehen, dass e.Exception.Message gibt die Fehlerinformationen, aber ich kann dies dem Benutzer nicht geben! ...Benutzerfreundliche Ausnahmebedingungsnachrichten geben
EG: e.Exception.Message gibt "Die DELETE-Anweisung im Konflikt mit der REFERENZ-Einschränkung" FK_users_offices ". Der Konflikt trat in der Datenbank" xyz ", Tabelle" dbo.Users ", Spalte" OfficeID "auf. Die Anweisung wurde beendet."
Gibt es eine Möglichkeit, diese Ausnahme zu identifizieren und sie abzufangen, um etwas wie "Dieses Büro kann nicht gelöscht werden, da abhängige Benutzer existiert" anzuzeigen. beispielsweise?
Mein entsprechenden Code hinter ist:
protected void fv_OnItemDeleted(Object sender, FormViewDeletedEventArgs e)
{
if (e.Exception == null)
{
if (e.AffectedRows == 1)
{
lblMessage.Text="Record deleted successfully.";
}
else
{
lblMessage.Text = "An error occurred during the delete operation.";
}
}
else
{
lblMessage.Text=e.Exception.Message;
e.ExceptionHandled = true;
}
UserMessage.Visible = true; // Display Error message to user
}
http://stackoverflow.com/questions/8910197/user-friendly-error-messages-when-removing-row-with-foreign-key-reference-constr und http://stackoverflow.com/ Fragen/7944559/how-to-manipulieren-sqlexception-message-in-benutzerfreundliche Nachricht –