2010-06-02 14 views
5

Słyszałem różne historie o ASP.NET i JavaScript: że działa dobrze z wyłączoną Javascript, że tylko niektóre części nie działają, i że nic nie działa.ASP.NET: Co dokładnie ma wpływ, gdy Javascript jest wyłączony?

W jaki sposób wpływają na aplikacje ASP.NET, jeśli JavaScript jest wyłączony w przeglądarce klienta? Które części nie działają (jeśli występują)?

Na przykład, czy RequiredFieldValidators będzie nadal działać? A co z UploadControls? AJAX UpdatePanels i AsyncPostBack's? FileUploads? Czy nadal działają strony codebehinds?

Przebaczam moją niewiedzę, nie mogę znaleźć zbyt wiele w kwestii, która jest dogłębna.

+1

Jest to tak bardzo zależne od tego, jakich kontroli używasz i jak ich używasz, na które trudno jest całkowicie odpowiedzieć. Cała AJAX nie będzie działać, ale zawsze będzie działać codebehind. – jball

+1

RequiredFieldValidators będzie nadal działał po stronie serwera (codebehind), ale nie sądzę, że będą działać po stronie klienta bez JS. – jball

Odpowiedz

2

LinkButtons nie działają, ponieważ renderują javascript: target.

Jeśli użyjesz kontrolek GridView z ButtonColumns, to nie będą działać, ponieważ przyciski też są javascript. Jednym ze sposobów obejścia tego jest użycie obiektu TemplateColumn i dodanie do niego obiektów < asp: Button >.

Również stronicowanie i sortowanie GridView jest dostępne w języku JavaScript, więc musisz napisać niestandardowe stronicowanie i sortowanie.

Również dowolna kontrola z ustawionym parametrem "Autostrada zwrotna" na wartość "prawda" (na przykład "DropdownList") nie będzie automatycznie ogłaszać zwrotów. Będziesz mógł złapać SelectedIndexChanged, ale TYLKO wtedy, gdy nastąpi następny odświeżenie.

5

Walidacja po stronie klienta i Ajax nie będą działały, w tym asynchroniczne posty zwrotne i wszelkie elementy sterujące, które wymagają obsługi Javascript, aby działały.

Walidacja po stronie serwera (która zawsze powinna się zdarzyć) i pełne postbacks i takie powinny zawsze działać, i myślę, że kontrola FileUpload również. Największa różnica polegałaby na tym, że ktoś nie zauważyłby, że dane, które wprowadzono, były nieważne do momentu przesłania formularza.

0

Jakakolwiek kontrola, która "coś" robi po stronie klienta, bez żądania pełnej strony wracającego na serwer (tj. Odświeżenie całej strony) odbywa się za pośrednictwem JavaScript i nie będzie działała z wyłączoną obsługą JavaScript.

Pamiętaj HTML jest statyczny, więc wszystko, co "zmienia" w oknie przeglądarki innym niż efekty hover CSS lub cokolwiek, co oddzwania do serwera bez pełnego przeładowania strony, odbywa się za pomocą JavaScript i nie możesz oczekiwać, że to zadziała z wyłączoną obsługą JavaScript na kliencie.

Powiązane problemy