DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
doppelter Schlüssel bei Insert in ValidationSummary anzeigen

Wenn der Benutzer Eingaben durchführt die gegen die Regeln in der Datenbank verstossen wird einen Exception gefeuert. So wird eine äußert unschöne Seite für einen doppelten Primärschlüssel erzeugt. Um dies zu verhindern kann man in das Event des DataSource Controls das nach der Aktion ausgeführt wird Code platzieren. Dies sind zb Inserted, Deleted, Selected oder Updated. Dort kann man die Exception als behandelt markieren und weitere Aktionen durchführen zb den Modus ändern. Um den Fehler in ValidationSummary anzuzeigen habe ich noch ein CustomValidator Control in der Seite platziert dessen Eigenschaft IsValid im Fehlerfall auf false gesetzt wird.

Protected Sub AccessDataSource1_Inserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs)

If Not IsNothing(e.Exception) Then

e.ExceptionHandled = True

FormView1.DefaultMode = FormViewMode.Insert

CustomValidator1.IsValid = False

Else

FormView1.DefaultMode = FormViewMode.ReadOnly

End If

End Sub

Viele Postings in Foren oder Blogs schreiben das dies so nicht möglich ist. Dabei muss man nur beachten das die beiden Validation Controls ausserhalb des FormView Controls platziert werden.

...</asp:AccessDataSource>

<asp:ValidationSummary ID="ValidationSummary1" runat="server" />

<asp:CustomValidator ID="CustomValidator1" Display=none

runat="server" ErrorMessage="Email Adresse bereits vorhanden">

</asp:CustomValidator>

Auch wenn weitere Validator Controls im Formview Template z.B. InsertItemTemplate vorhanden sind, arbeiten die einwandfrei mit dem Validationsummary zusammen. Es wird also nur ein Summary Control benötigt


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 10.10.2006
  Gültig bis: 08.01.2007
1 Ratings
Bewertung: 100,0%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG