从Javascript触发Ajax.ActionLink?

时间:2011-06-10 17:57:19

标签: javascript jquery ajax razor

我成功使用@ Ajax.ActionLink来刷新我页面的一部分数据,但我想从Javascript中做同样的事情。如何模拟在js中单击ActionLink的效果?

谢谢!

@Ajax.ActionLink("ClickMe", "List", "Organizations", New AjaxOptions With {.UpdateTargetId = "dashboardDetails"})

3 个答案:

答案 0 :(得分:2)

您需要查看使用$.get().$post() jQuery函数。所以基本上,您可以使用这些函数之一(取决于您获取或发布数据)从Javascript执行对控制器操作的调用。

可以找到一个示例here

答案 1 :(得分:1)

幕后操作Unobtrusive,JQuery只需在ajax链接上与a[data-ajax=true]匹配并运行此代码:

$(document).on("click", "a[data-ajax=true]", function (evt) {
    evt.preventDefault();
    asyncRequest(this, {
        url: this.href,
        type: "GET",
        data: []
    });
});

asyncRequest只需运行$ .ajax调用,并为其组装所有选项。

只需向链接发送一次点击即可获得相同的效果。假设您为链接指定了可选的HtmlAttributes,如下所示:

@Ajax.ActionLink("ClickMe", "List", "Organizations", New AjaxOptions With {.UpdateTargetId = "dashboardDetails"}, new { id = "myajaxLink" })

您可以使用以下命令触发:

$('#myajaxLink').click();

答案 2 :(得分:0)