2009-04-19 39 views
25

我正在爲教育目的製作演示ASP.NET MVC應用程序。ASP.NET MVC的基本AJAX示例?

我有一個圖像/鏈接標誌着一個帖子冒犯。我想通過AJAX從服務器請求攻擊並檢查以確保用戶具有此能力。

如果用戶這麼做,那麼我想將該帖子標記爲在數據庫中冒犯,並返回標誌通過。如果用戶最終沒有權利標記項目,那麼我想向客戶端返回一個負面消息,以便我可以彈出一個很好的jQuery框,指出它沒有通過。

我試圖做到這一切都沒有一個完整的回發/刷新。

有沒有人有與MVC簡單的AJAX請求的例子的任何鏈接?

回答

24

jQuery其實很簡單。比方說,你的鏈接是這樣的:

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

創建一個JavaScript調用你的控制器作爲必要的行動,以檢查和標誌:

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 
     } 
    }); 
} 

在你的操作方法在你的控制器可能會看像這樣:

[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

爲什麼在你的例子代碼上面你會不會只是返回的checkPermission(); ? – 2009-08-14 10:55:37