ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
626
626
EMPFEHLEN
-
Hallo zusammen!
Ich hab mich ein bisschen mit den Validation-Klassen in ASP.NET rumgespielt. Ich verwende unter anderem folgenden Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12
if (this.IsPostBack) { foreach (System.Web.UI.IValidator aValidator in this.Page.Validators) { aValidator.Validate(); TblFreeSpace.Visible = !aValidator.IsValid; } } else { TblFreeSpace.Visible = false; }
Wenn ich nun in das verknüpfte Textfeld des RequiredFieldValidators keinen Wert eintrage, dann wird eine Meldung ausgegeben, weil "IsValid = false" ist. Wenn ich anschließend einen Wert eintrage und somit das Feld befülle, dass bleibt "IsValid" immer noch "false".
Zur Erklärung:
TblFreeSpace ist eine ASP-Tabelle, die nur angezeigt werden soll, wenn auf der Seite ein Eingabefehler entstanden ist. Der oben genannte Code läuft in einem Benutzersteuerelement ab, welche ValidationSummary ersetzen soll.
Irgendwas check ich bei der ganzen Sache nicht und ich wäre für jede Hilfe dankbar.
Geändert von Saber (25.01.04 um 15:14 Uhr)
Das Leben ist sch**ße ... aber die Grafik ist geil!
-
26.01.04 11:14 #2
Hallo,
Du musst natürlich dem Programm auch sagen das er jetzt validieren soll. Wenn es ein Button nicht auslöst das musst du im Code manuell die Validate() Methode anschucken.
Wenn du einen Button hast, dann kannst du dem die Eigenschaft CausesValidation auf true setzten und somit löst dieser automatisch eine Validierung aus!René Paschold
.NET Trainer / Consultant / Developer
WebLog http://www.rene-paschold.de/
"The World Is Not Enough!"
-
Mach ich doch:
Code :1
aValidator.Validate();
Aber ich habs auch schon mit Page.Validate() versucht. Das bewirkt auch nix. Es bleibt immer false. Habs schon mit Work-Arounds versucht, funktioniert aber eher schmächtig als mächtig.Das Leben ist sch**ße ... aber die Grafik ist geil!
-
26.01.04 12:35 #4
Hmm komisch. Kannst du mal das Zeugs zippen und her schicken? rpa2k@gmx.net
Ich schau mal drüber!René Paschold
.NET Trainer / Consultant / Developer
WebLog http://www.rene-paschold.de/
"The World Is Not Enough!"
-
Ist weg an die oben gennante Adresse ... schon mal DANKE im Vorfeld!
Das Leben ist sch**ße ... aber die Grafik ist geil!
-
Danke @ René
Hat alles bestens geklappt so wie Du es in Deiner E-Mail beschrieben hattest.
Daumen hoch!
Das Leben ist sch**ße ... aber die Grafik ist geil!
-
28.01.04 21:54 #7
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Wäre nett wenn du das Problem beschreiben könntest beziehungsweise die Lösung davon. (bzw. beides).
Würde mich nämlich selbst interessieren, und sollte ein anderer ein solches Problem haben wird er auch dankbar sein.With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Ich muss meine Antwort leider zurückziehen, das Problem stellte sich leider nur anfangs als überwältigt dar. Sobald ich eine endgültige Lösung habe werde ich hier eine detailierte Schilderung abliefern (ich hoffe ich vergess es nicht!).

Im kurzen ist folgendes zu sagen. Ich möchte mir ein eigenes "schöneres" ValidationSummary bauen. Das klappte anfangs auch recht gut. Aber diese Validation-Zeugs spinnt irgendwie voll rum mit den PostBack-Ereignissen, dann funktionierte die Page.Validate()-Methode nicht bzw. die Page.IsValid-Eigenschaft lieferte immer false zurück.
Die Mühe von René war leider auch umsonst, hat nun doch nix gebracht. *sorry* Aber trotzdem danke!
Aber ich hab schon einen Ansatz für ein Work-Around mit dem ViewState, muss mir wohl mein eigenes "PostBack" bauen.
Das selbstgebaute Steuerelement liegt nämlich auf einer Seite, die mit einem if-else-Block zweigeteilt ist. Und genau da haben die Microsoft-Validation-Controls versagt, und meines mag auch noch nicht so ganz ... Betonung auf "noch".
Wie gesagt, sobald ich es schaffe poste ich es hier nochmals genauestens ... nur die nächsten Tage habe vermutlich keine Zeit dazu.
Das Leben ist sch**ße ... aber die Grafik ist geil!
-
Also irgendwie wills immer noch nicht, aber zumindest glaub ich zu wissen wo der Haken ist.
Vorweg:
1.) Ich habe eine Hauptseite: default.aspx. Darin befindet sich hauptsächlich das HTML Layout. Zusätzlich ist ein Placeholder-Control darauf. Es wird später durch die einzelnen User-Controls mit dem Inhalt gefüllt.
2.) Der Inhalt der Seiten ist in User-Controls abgelegt. Wenn ich also im Menü auf "Home" klicke, dann lädt er das User-Control mit dem Home-Inhalt etc.
3.) Ich habe mir ein weiteres User-Control gebaut. Es soll mir lediglich das originale ValidationSummary-Control ersetzen, weiter nichts (dachte ich zumindest
)
4.) Wenn ich die Seite nun aufrufe, dann gibt er mit in meinem selbstgebautem ValidationSummary IMMER Fehlermeldungen aus. Er soll überprüfen, ob ein Textfeld gefüllt ist. Page.IsValid bleibt immer "false". Ich rufe auch die Page.Validate() vorher auf!
Meine Vermutung:
Mein Aufbau sieht also folgendermaßen aus:
Hauptseite <-- UserControl (Inhalt) <-- UserControl (Eigene ValidationSummary) <--- Code Behind (Fehlerbehandlung)
Ich vermute nun mal ganz einfach, dass ich in meinem eigenen ValidationSummary-Control keine Validierung der Steuerelemente (z.B. Textboxes) auf dem anderen User-Control (Inhalt) anstoßen kann. Puh, ziemlich kompliziert ... hmm?
Liege ich mit meiner Vermutung richtig und wenn ja/nein, wie könnte ich weiter vorgehen! DANKE im Vorraus!
Das Leben ist sch**ße ... aber die Grafik ist geil!
Ähnliche Themen
-
Richtige Syntax bei Operatorüberladung, wann sind "friend", "const", "&" nötig?
Von mrs_schokokeks im Forum C/C++Antworten: 4Letzter Beitrag: 25.08.10, 19:13 -
"body" bleibt immer kleiner als "content"-Div
Von Fantasmo im Forum CSSAntworten: 3Letzter Beitrag: 27.04.10, 18:46 -
preg-match gibt immer "0" zurück, auch wenn es "1" sein müsste
Von alexbot im Forum PHPAntworten: 7Letzter Beitrag: 09.04.10, 20:57 -
Links in iFrames IMMER "global" laden? (Wie bei target="_top")
Von HAL im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 25.06.08, 14:17 -
Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
Von MTMonline im Forum Videoschnitt, Videotechnik & -produktionAntworten: 2Letzter Beitrag: 25.04.08, 09:49





Zitieren

Login





