jak w asp.net mvc 2 zrobić coś w rodzaju event handlera

0

Np wywołanie funkcji po zmianie tekstu nas tronie albo rozwinięciu DropDowna

1

JavaScriptem. Istnieją tam sobie jakieś zdarzenia w rodzaju rozwinięcia dropdowna w których możesz użytkownika przekierować do innego kontrolera albo asynchronicznie (AJAX) wywołać jakieś akcje.

0

Rozumiem, dzięki,
ale co zrobić gdy potrzebuję na focusout z TextBoxa wywołać funkcję napisaną w C#?

0

Śmiem twierdzić, że możesz mieć źle przemyślaną aplikację. Warstwa widoku (czyli HTML) nie powinna mieć zbyt wiele wspólnego z kontrolerem.
Ale rozwiązanie jest identyczne - wszystko, co robisz w widoku, aby kontroler (napisany w C#) w jakikolwiek sposób się o tym dowiedział, musisz go poinformować. Np. asynchronicznie przesłać żądanie.

Stwórz sobie akcję w kontrolerze, która będzie robiła to, co chcesz w tym momencie, niech będzie dostępna pod adresem http://localhost/Kontroler/Funkcja. Teraz, element <input> na stronie (to nie WebForms, tu nie ma TextBoxów) na zdarzenie onblur wywoływane w momencie, kiedy traci focus. W tym zdarzeniu stwórz sobie JavaScriptową funkcję, która asynchronicznie wyśle żądanie do http://localhost/Kontroler/Funkcja i ewentualnie odbierze dane zwracane przez tę funkcję (w postaci surowego kodu XML, HTML czy JSON) i coś dalej z nią zrobi.

Do łatwego użycia Ajaksa polecam bibliotekę jQuery, zresztą chyba teraz jest prawie w standardzie w Visual Studio.
Uwaga praktyczna - system oczywiście przestanie działać, kiedy użytkownik nie ma JavaScriptu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1