2012-05-09 13 views
6

Mam niestandardową kontrolę opartą na Panel. To tylko prosty panel z 3 DropDownLists. Jeśli dodać CompareValidator do mojego WebForm i ustawić właściwość ControlToValidate do ID mojego niestandardowego sterowania pojawia się następujący błąd:Jak sprawić, by niestandardowe sterowanie było sprawdzalne?

Control '{0}' referenced by the ControlToValidate property of '{1}' cannot be validated.

rozumiem dlaczego to zrobił, CompareValidator nie można sensownie walidacji nic przeciwko Panel. Co muszę dodać do niestandardowej kontroli, aby umożliwić walidatorowi sprawdzenie poprawności?

Próbowałem dodać właściwość Text do mojego panelu, który zwraca kombinację właściwości tekstu z 3 DropDownLists. Bez skutku.

Próbowałem już poszukać pewnych interfejsów (ITextControl), które można zwalidować za pomocą narzędzi (TextBox) i dodać je do kontrolki niestandardowej. Bez skutku.

W jaki sposób mogę wykonać niestandardową kontrolę na podstawie panelu, którą można zweryfikować za pomocą normalnych walidatorów .net? (RequiredFieldValidator, CompareValidator itp)

Odpowiedz

5

Jeśli jeszcze nie masz, trzeba dodać atrybut ValidationProperty do swojej klasy, więc wie, które nieruchomość używać do sprawdzania poprawności:

[ValidationProperty("Text")] 
[ToolboxData("<{0}:YourCustomControl runat=server></{0}:YourCustomControl>")] 
public class YourCustomControl : WebControl 
... 
+0

Tak, Zrób sztuczkę! Dziękuję za szybką odpowiedź. :) Przyjmę za kilka minut. – Bazzz

+0

Bez problemu. Cieszę się, że to działa. –

Powiązane problemy