2009-07-26 29 views
7

Tôi không hiểu chính xác cách hoạt động của ASP.NET. Tôi thấy rằng họ có một trình xử lý sự kiện cho OnSuccess và OnFailure, nhưng tôi không thể tìm thấy bất cứ điều gì mô tả cách thành công và thất bại được xác định.OnSuccess được đo lường như thế nào cho một ASP.NET MVC ActionLink?

Tôi đang xây dựng ứng dụng ASP.NET MVC và trong đó tôi có Ajax.ActionLink cho phép tôi "bỏ phiếu" trên các mục bằng AJAX ... tương tự như Digg. Actionlink khởi động Bộ điều khiển và phương thức của tôi ... mọi thứ đều hoạt động tốt ở đây.

Trong bộ điều khiển của mình, tôi có logic kiểm tra xem liệu người dùng này đã bỏ phiếu trước chưa. Tôi muốn sử dụng "OnSuccess" và "OnFailure" để phản hồi khác nhau. Tôi muốn nó chạy hàm Javascript của tôi "PlusOneVote" nếu người dùng chưa bao giờ bỏ phiếu (Đây là kịch bản OnSuccess) và nếu người dùng đã bỏ phiếu trước khi tôi muốn chạy hàm javascript của tôi "CheaterYouCantVoteTwice".

Ai đó có thể giải thích cách OnFailure và OnSuccess được đo?

Ai đó có thể giải thích cách tôi có thể tạo logic này ... nơi tôi có thể chạy một hàm Javascript trong một nhánh (trong trường hợp của tôi, nếu người dùng chưa bao giờ bỏ phiếu) và một hàm Javascript khác trong trường hợp người dùng đã bình chọn?

Trả lời

5

Thành công được đo dựa trên mã trạng thái HTTP của phản hồi ajax và không có gì khác. Về cơ bản nếu bạn nhận được một mã mức 400 (bất kỳ 400 - 417), bạn sẽ nhận được một thất bại. Nếu bạn nhận được 200, nó được coi là một thành công.

Tôi nghĩ bạn sẽ cần kiểm tra nội dung của dữ liệu trong trình xử lý OnSuccess để xác định việc cần làm, thay vì xem xét một loại thông báo lỗi và một loại thông báo thành công. Từ quan điểm ajax, nó đã thành công nếu một phản hồi hợp lệ được trả về.

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