Miesiąc: Luty 2010

Walidacja po stronie klienta za pomocą ValidatorCalloutExtender

W Pakiecie AjaxControlToolkit będącego obecnie częścią Microsft AJAX Library znajduje się fajna kontrolka ValidationCalloutExtender. Pozwala ona na wykorzystanie sztandarowych walida torów ASP.NET (RegualExpressionValidator, RequiredFieldValidator itp. ) w scenariuszach Ajaxowych, tzn. do walidacji po stronie klienta. Wszystko jest fajne dopóki walidowany formularz jest wysyłany zwykłym submitem. Problem pojawia się, gdy chcemy zaprogramować przycisk w javascripcie i np. wykorzystać dane do wywołania metody sieciowej. Jak wtedy wywołać nasze Validatory ?Oficjalna dokumentacja milczy na ten temat. Dopiero do głębna analiza kodu javascript dostarczonego z serwera, daje Man bardzo ciekawą metodę:


function Page_ClientValidate();

Która zwraca true jeśli formularz został walidowany poprawinie, lub pokazuje „dymki ”:

I zwraca false jeśli formularz nie został poprawnie walidowany. W tym wypadku nasza funkcja obsługi zdarzenia wyglądała by mniej więcej tak.


function bt_button1_click(sender,e) {
if (Page_ClientValidate()) {
//zrob cos z danymi formularza
}
}

Zduplikowane pozycje w Toolboxie.

Dzisiaj odpalając moja aplikacje webowa w Visual Studio Proffesionall stwierdziłem że w niemal wszystkie pozycje są zdublowane. Miałem np. po 4 listboxy,xmle, textboxy czy buttony. Wiadomo że zawsze można zrobić porządek ręcznie. Jeśli jednak nie macie akurat kilku godzin wolnego żeby przekopać się przez wszystkie itemy, udajcie sie do katalogu: 

C:Usersuser_nameAppDataLocalMicrosoftVisualStudio9.0

w Windows Vista i 7 lub

C:Documents and Settingsuser_nameUstawienia LokalneMicrosoftVisualStudio9.0

w Windows XP/2000.

A następnie skasować wszystkie pliki *.tbd.

Potem wystarczy przywrócić starą konfigurację.