2009-04-19 44 views
25

Tôi đang trong quá trình tạo một ứng dụng ASP.NET MVC demo cho mục đích giáo dục.Ví dụ AJAX cơ bản với ASP.NET MVC?

Tôi có hình ảnh/liên kết gắn cờ bài đăng là xúc phạm. Tôi muốn yêu cầu từ máy chủ thông qua AJAX để cờ tấn công và kiểm tra để đảm bảo rằng người dùng có khả năng này.

Nếu người dùng làm, sau đó tôi muốn gắn cờ bài đăng là xúc phạm trong cơ sở dữ liệu và trả lại cờ đã đi qua. Nếu người dùng kết thúc KHÔNG có quyền gắn cờ các mục thì tôi muốn trả lại một thông điệp tiêu cực cho khách hàng để tôi có thể bật lên một hộp jQuery tốt đẹp nói rằng nó đã không đi qua.

Tôi đang cố gắng thực hiện việc này mà không cần đăng lại/làm mới đầy đủ.

Có ai có bất kỳ liên kết nào đến ví dụ về các yêu cầu AJAX đơn giản được thực hiện với MVC không?

Trả lời

24

Nó thực sự khá dễ dàng với jQuery. Hãy nói rằng liên kết của bạn là một cái gì đó như thế này:

<a href="javascript:flagInappropriate(<%=Model.PostId%>);">Flag as inappropriate</a> 

Tạo một javascript để gọi hành động trong điều khiển của bạn để kiểm tra và gắn cờ là cần thiết:

function flagInappropriate(postId) { 
    var url = "<CONTROLLER>/<ACTION>/" + postId; 
    $.post(url, function(data) { 
     if (data) { 
      // callback to show image/flag 
     } else { 
      // callback to show error/permission 
     } 
    }); 
} 

Trong phương pháp hành động mà bạn trong điều khiển của bạn có lẽ sẽ xem xét như thế này:

[AcceptVerbs("POST")] 
public bool FlagAsInappropriate(int id) { 
    // check permission 
    bool allow = CheckPermission(); 

    // if allow then flag post 
    if (allow) { 
     // flag post 

     return true; 
    } else { 
     return false; 
    } 
} 
+0

Tại sao mã ví dụ của bạn ở trên không bạn chỉ trả lại CheckPermission(); ? –

+4

vì bạn có thể muốn thực hiện thêm một số logic/hành động nếu CheckPermission trả về true - xem // post flag area –

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