2010-02-23 33 views
5

Đây là câu hỏi về người mới (tôi chắc chắn là vậy). Tôi đã cố gắng lần đầu tiên trong một ứng dụng web ASP.NET ít tôi đang làm việc trên những gì sẽ xảy ra nếu tôi vô hiệu hóa Javascript trong một trình duyệt (tôi đang thử nghiệm chủ yếu với Firefox).Có cho phép JavaScript trong trình duyệt PHẢI có được các trang ASP.NET hoạt động không?

Kết quả: Đơn đăng ký của tôi bị hỏng hoàn toàn, mặc dù tôi chưa bao giờ viết bất kỳ dòng Javascript nào.

Ví dụ: Tôi có nút liên kết trên trang từ điều khiển LoginStatus. Nhìn vào mã HTML được tạo ra trong trình duyệt của tôi, tôi thấy điều này:

<a id="ctl00_ctl00_LoginStatus" href="javascript:__doPostBack('ctl00$ctl00$LoginStatus$ctl02','')">Login</a> 

tương tự với một số nút liên kết trong một điều khiển ListView cho phép để sắp xếp danh sách của trường dữ liệu nhất định: Các href của thẻ neo tạo chứa này: javascript:WebForm_DoPostBackWithOptions(...).

Vì vậy, nhấp vào "Đăng nhập" hoặc cố sắp xếp không hoạt động mà không bật Javascript.

Điều này có nghĩa là: Với Javascript bị tắt trong ứng dụng ASP.NET của trình duyệt sẽ không hoạt động bình thường? Hoặc tôi phải làm gì để ứng dụng hoạt động với Javascript bị tắt?

Cảm ơn phản hồi của bạn!

+0

Đây là biểu mẫu web ASP.NET, khá cổ. Điều này cho phép bạn hoàn toàn không kiểm soát được HTML và JavaScript được hiển thị. Để kiểm soát hoàn toàn tất cả HTML và JavaScript, bạn có thể sử dụng ASP.NET MVC thay thế. – bzlm

+1

@ bzlm "cổ" trong "tích cực duy trì, với một phiên bản mới lớn đến sớm" cảm giác? – bdukes

+0

@bdukes Có một bản demo COBOL, hiển thị hỗ trợ COBOL mới (thông qua bên thứ 3) trong VS 2010 trong bài phát biểu kỹ thuật trên TechEd. Không làm cho COBOL ít cổ hơn. :) http://graysmatter.codivation.com/post/WebForms-The-Whining-Continues.aspx – bzlm

Trả lời

5

Một số nội dung sẽ hoạt động, một số nội dung sẽ không hoạt động (xem here). Đây không phải là để nói rằng bạn không thể sử dụng ASP.NET mà không có Javascript, bạn sẽ chỉ cần tránh các điều khiển được đề cập dưới đây (và tôi chắc chắn một loạt các điều khiển bên thứ 3 là tốt).

Các điều khiển máy chủ ASP.NET mà phụ thuộc vào khả năng chạy script client bao gồm:

  • Các LinkButton và HtmlButton điều khiển máy chủ yêu cầu kịch bản. (Điều này không đúng với điều khiển máy chủ Web Button hoặc các điều khiển HtmlInputButton hoặc HtmlInputImage.)
  • Theo mặc định, điều khiển Lịch thực hiện điều hướng tháng và lựa chọn ngày bằng cách sử dụng các điều khiển LinkButton. Nếu bạn đặt thuộc tính kiểm soát để cho phép người dùng chọn ngày, tuần hoặc tháng hoặc nếu bạn cho phép người dùng điều hướng đến các tháng khác thì điều khiển Lịch sẽ tạo tập lệnh ứng dụng khách. Nếu bạn sử dụng điều khiển Lịch đơn giản để hiển thị một tháng không có lựa chọn hoặc điều hướng, điều khiển không yêu cầu kịch bản ứng dụng khách.
  • Bất kỳ điều khiển máy chủ Web nào có thuộc tính AutoPostBack được đặt thành true; kịch bản ứng dụng khách được yêu cầu để kiểm soát sẽ đăng trang.
  • Điều khiển xác thực web, yêu cầu tập lệnh khách hàng hỗ trợ xác thực phía máy khách. Nếu máy khách không hỗ trợ tập lệnh, việc xác thực sẽ chỉ chạy trên máy chủ.
+0

Cảm ơn, đó thực sự là một điều quan trọng cần biết! Nó mới cho tôi. – Slauma

4

Trừ khi bạn chuyển sang khung ASP.NET MVC, có, các trang ASP.NET được xây dựng với mô hình biểu mẫu web yêu cầu JavaScript.

Các thành phần đã bật autopostback, mọi điều khiển linkbutton hoặc button và mọi xác thực phía ứng dụng khách sẽ ngừng hoạt động, như bạn đã phát hiện.

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