2009-04-19 13 views
25

私は教育目的でデモ用のASP.NET MVCアプリケーションを作成中です。ASP.NET MVCでのAJAXの基本的な例?

投稿に不快感を与える画像/リンクがあります。私はAJAX経由でサーバーに攻撃的なフラグを立ててリクエストしたいと思います。ユーザーがこの能力を持っていることを確認してください。

ユーザーがしている場合は、データベースに不快な投稿としてフラグを立てて、フラグが通過したことを返します。ユーザーがアイテムにフラグを立てる権限を持っていない場合、クライアントに否定的なメッセージを返したいので、うまくいかないjQueryボックスがポップアップ表示されます。

私は完全なポストバック/リフレッシュなしでこれをすべて実行しようとしています。

MVCで作成された単純なAJAX要求の例へのリンクはありますか?

答えて

24

実際はjQueryではかなり簡単です。おそらくになりますあなたのコントローラであなたのアクションメソッドでは

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

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

、必要に応じてチェックするために、あなたのコントローラ内のアクションフラグを呼び出すためにはJavaScriptを作成しますのは、あなたのリンクは、このようなものであるとしましょう

[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を返しませんなぜ(); ? –

+4

CheckPermissionがtrueを返す場合は、余分なロジック/アクションを実行したい場合があるため、//フラグのポストエリアを参照してください –

関連する問題