替换Ajax.ActionLink输出以使用Jquery

时间:2010-10-13 16:50:21

标签: jquery asp.net-mvc-2 html-helper

是否有一种简单的方法可以将生成的Helper函数Ajax.ActionLink的输出替换为使用Jquery而不是MS?

或者我必须在自定义扩展程序中完成所有工作吗? 有人必须这样做

编辑:

我想我正在考虑用JQuery完成的东西替换MicrosoftMVCAjax.js。或许叫做JQueryMVCAjax的东西......

1 个答案:

答案 0 :(得分:2)

首先在视图中将Ajax.ActionLink替换为Html.ActionLink并为其指定一个唯一ID,以便您可以在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;
    });
});

如果您只想用AJAX请求的结果替换某些div的内容,可以使用.load()函数:

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