2010-06-02 22 views
5

Tôi đã nghe những câu chuyện khác nhau về ASP.NET và JavaScript: nó hoạt động tốt với Javascript bị tắt, mà chỉ có một số phần không hoạt động, và rằng không có gì làm việc cả.ASP.NET: Chính xác điều gì bị ảnh hưởng khi Javascript bị tắt?

Ứng dụng ASP.NET chính xác bị ảnh hưởng như thế nào nếu JavaScript bị tắt trong trình duyệt của khách hàng? Những phần nào không hoạt động (nếu có)?

Ví dụ: RequiredFieldValidators sẽ vẫn hoạt động? Điều gì về UploadControls? AJAX UpdatePanels và AsyncPostBack của? FileUploads? Các codebehinds trang vẫn chạy?

Tha thứ cho sự thiếu hiểu biết của tôi, tôi dường như không thể tìm thấy nhiều về vấn đề sâu sắc.

+1

Điều này tùy thuộc vào điều khiển bạn sử dụng và cách bạn sử dụng chúng mà khó trả lời hoàn toàn. Tất cả AJAX sẽ không hoạt động, nhưng codebehind luôn chạy. – jball

+1

RequiredFieldValidators sẽ vẫn làm việc ở phía máy chủ (codebehind), nhưng tôi không nghĩ rằng chúng sẽ hoạt động trên phía máy khách mà không có JS. – jball

Trả lời

2

LinkButton không hoạt động vì chúng hiển thị javascript: target.

Nếu bạn sử dụng các điều khiển GridView với ButtonColumns thì các nút này cũng không hoạt động như các nút bấm là javascript. Một cách xung quanh điều này là sử dụng một TemplateColumn và thêm < asp: Button > các đối tượng bên trong nó.

Ngoài ra Phân trang và sắp xếp GridView là JavaScript ngoài hộp nên bạn phải viết phân trang và sắp xếp tùy chỉnh.

Ngoài ra bất kỳ điều khiển nào với Tự động khôi phục được đặt thành true (ví dụ: DropdownList) sẽ không tự động đăng lại. Bạn sẽ có thể nắm bắt SelectedIndexChanged nhưng CHỈ khi postback tiếp theo xảy ra.

5

Xác thực phía máy khách và Ajax sẽ không hoạt động, bao gồm cả đăng lại không đồng bộ và bất kỳ kiểm soát nào yêu cầu Javascript để hoạt động.

Xác thực phía máy chủ (luôn luôn xảy ra) và đăng lại đầy đủ và thông tin này luôn hoạt động và tôi nghĩ điều khiển FileUpload cũng sẽ được thực hiện. Sự khác biệt lớn nhất sẽ là một người nào đó sẽ không thấy rằng dữ liệu mà họ đã nhập xảy ra không hợp lệ cho đến khi biểu mẫu được gửi.

0

Bất kỳ điều khiển nào "thực hiện điều gì đó" ở phía máy khách mà không yêu cầu trang đầy đủ quay lại máy chủ (nghĩa là tải lại toàn bộ trang) được thực hiện qua JavaScript và sẽ không hoạt động với JavaScript bị tắt.

Hãy nhớ HTML tĩnh, vì vậy mọi thứ "thay đổi" trong cửa sổ trình duyệt khác với hiệu ứng di chuột của CSS hoặc bất kỳ thứ gì gọi lại máy chủ mà không tải lại trang đầy đủ, được thực hiện qua JavaScript và bạn không thể mong đợi điều đó với JavaScript bị vô hiệu hóa trên máy khách.

Các vấn đề liên quan