2010-12-30 16 views
1

In einem Programm habe ich 1 Multiview mit mehreren Ansichten hinein (wo Ansichten Menüoptionen sind).Validierungsproblem

Das Problem ist meine Fehlermeldung bereits ab dem Moment, ich klicke auf die Menüoption (eine bestimmte Ansicht).

Nach der Eingabe verschwindet es und wenn ich es für die nächste Eingabe leer lasse, kommt die Fehlermeldung zurück.

Mit anderen Worten funktioniert es gut, aber wenn ich auf das Menü klicke, sollte die Fehlermeldung nicht da sein (wenn die Seite zum ersten Mal geladen/angezeigt wird).

EDIT: Ein (IsPostBack) innerhalb einer Funktion schien das Problem gelöst zu haben.

IsPostBack kann zur Zeit so verwirrend sein:>

Antwort

1

Ich würde empfehlen, alle Ihre Kontrollen mit einem einzigartigen Validation per-View-Verpackung. Das Problem besteht darin, dass die gesamte Validierung für das Postback ausgelöst wird. Daher wird jedes Validierungssteuerelement (ausgeblendet oder nicht), das ungültig ist, die Nachricht anzeigen, solange es sich in der aktuellen Ansicht befindet. Sie müssen den Schaltflächen, die zwischen den Ansichten navigieren, dieselbe Validierungsgruppe hinzufügen. Ich wette auch, dass Sie nicht überprüfen, ob Page.IsValid() wahr ist, bevor Sie zur nächsten Ansicht navigieren. Wenn Sie dies tun, werden Sie feststellen, dass Sie nicht mehr von der aktuellen Ansicht abweichen können, da die Validierer in den anderen Ansichten ungültig sind.

Sie können CausesValidation auch auf eine beliebige Schaltfläche auf False setzen, um zu verhindern, dass eine Validierung ausgelöst wird.

Verwandte Themen