2009-07-03 2 views
3

Ну, как создать ссылку для картинок, например, вверх или вниз голосов (слева) из ссылки ниже? (ссылка ajax)Как создать ссылку для изображения в ASP.NET MVC?

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

В этом случае мне не нужен вспомогательный механизм Ajax. Я не думаю, что есть какая-либо причина, чтобы вернуть HTML с сервера, что и будет делать стандартный помощник Ajax. Я бы предпочел обработать его с помощью 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) это метод post ajax? – Ante

+0

Да - это аякс. У вас будет действие на том же контроллере, который называется Vote, который принимает параметр строки: public ActionResult Vote (string vote) {...} – tvanfosson

+0

Обратите внимание - это только пример. Вы могли бы отправить его также как логическое - с истинным бытием, а ложь - нисходящим. – tvanfosson

Смежные вопросы