Замените вывод Ajax.ActionLink, чтобы использовать Jquery - PullRequest
0 голосов
/ 13 октября 2010

Существует ли простой способ замены сгенерированного вывода вспомогательной функции Ajax.ActionLink для использования Jquery вместо MS?

Или я должен выполнять всю работу в пользовательском расширении?Кто-то, должно быть, сделал это

РЕДАКТИРОВАТЬ:

Я думаю, что я смотрю на замену MicrosoftMVCAjax.js чем-то, что сделано с JQuery.Возможно, это называется JQueryMVCAjax ...

1 Ответ

2 голосов
/ 13 октября 2010

Начните с замены Ajax.ActionLink на Html.ActionLink в вашем представлении и дайте ему уникальный идентификатор, чтобы вы могли присоединить к нему обработчики в javascript:

<%: Html.ActionLink("link text", "action", "controller", null, 
    new { id = "mylink" }) %>

А затем прикрепите обработчик кликов в отдельный файл js:

$(function() {
    $('#mylink').click(function() {
        // send ajax request
        $.get(this.href, function(result) {
            // The ajax request succeeded => do something with the results
            alert(result);
        });
        // make sure you cancel the default redirect action
        return false;
    });
});

Если вы просто хотите заменить содержимое некоторого элемента div результатом запроса AJAX, вы можете использовать функцию .load():

$(function() {
    $('#mylink').click(function() {
        $('#resultDiv').load(this.href);
        return false;
    });
});
...