【问题标题】:Ajax.ActionLink triggering from Javascript?Ajax.ActionLink 从 Javascript 触发?
【发布时间】:2011-06-10 17:57:18
【问题描述】:

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

谢谢!

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

【问题讨论】:

  • 很老的问题,但需要更新。当您使用Ajax.ActionLink 时,您可以简单地从 JQuery 触发该链接。下面添加的示例。

标签: javascript jquery ajax razor


【解决方案1】:

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

可以在here找到一个例子。

【讨论】:

  • 谢谢 Jason,$.get() 似乎可以处理我需要做的事情。
  • 别担心,很高兴我能帮上忙 :)
【解决方案2】:

在幕后不显眼,JQuery 只是在带有 a[data-ajax=true] 的 ajax 链接上匹配并运行此代码:

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

asyncRequest 只需运行一个 $.ajax 调用,其中包含为其组装的所有选项。

您只需向您的链接发送点击即可获得相同的效果。假设您为链接提供一个带有可选 HtmlAttributes 的 id,如下所示:

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

你可以简单地触发它:

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

【讨论】:

    【解决方案3】:
    猜你喜欢
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 2011-03-05
    • 2015-11-15
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多