2009-07-03 26 views
3

まあ、このような写真のリンクを作成するにはどうすればいいですか? (ajax対応リンク)ASP.NET MVCで画像リンクを作成するには?

<%= Ajax.ActionLink("Vote!", 
        "AddPictureVote", 
        "Vote", 
        new {id = Model.PictureId}, 
        new AjaxOptions{UpdateTargetId = "addvote"})%> 
+0

この場合、私はAjaxヘルパー機構が嫌いです。私は、Ajaxの標準ヘルパーが行うものである、サーバーからHTMLを実際に戻す理由がないとは思わない。私は私の例で示しているように、jQueryで処理する方が好きです。 – tvanfosson

答えて

10

これは基本的な考えです。詳細を記入し、必要に応じてマークアップやモデル/アクションに適応させることができます。

$('.upvote').click(function() { 
    $(this).addClass('highlight'); 
    $(this).nextAll('.downvote:first').removeClass('highlight'); 
    $.post('<%= Url.Action("vote", new { id = Model.ID } %>', { vote: 'up' }); 
}); 

$('.downvote').click(function() { 
    $(this).addClass('highlight'); 
    $(this).prevAll('.upvote:first').removeClass('highlight'); 
    $.post('<%= Url.Action("vote", new { id = Model.ID } %>', { vote: 'down' }); 
}); 
+0

あなたにはほとんど質問がありません: 1)最後にパラメタ{vote: "up"}を説明できますか?どのように私は制御器でそれをキャッチすることができますか? 2)これはajax postメソッドですか? – Ante

+0

はい - それはajaxです。投票と呼ばれる同じコントローラーで、文字列パラメーターの投票を行うアクションがあります。public ActionResult Vote(文字列の投票){...} – tvanfosson

+0

注 - これは単なる例です。あなたは真偽値をupvote、falseをdownvoteとしてブール値を送ることもできます。 – tvanfosson

関連する問題