2011-06-10 63 views
1

我成功使用@ Ajax.ActionLink來刷新頁面的一部分數據,但我想從Javascript做同樣的事情。如何模擬點擊js中ActionLink的效果?Ajax.ActionLink從Javascript觸發?

謝謝!

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

很老的問題,但在需要的更新。在您使用'Ajax.ActionLink'時,您可以簡單地從JQuery中觸發該鏈接。下面添加了示例。 – 2014-01-23 17:27:23

回答

2

你需要看使用$.get().$post() jQuery的功能。所以基本上,您可以使用這些函數(取決於您獲取的數據還是發佈的數據),從Javascript執行對控制器操作的調用。

可以找到一個例子here

+0

謝謝Jason,$ .get()似乎處理我需要做的事情。 – 2011-06-10 19:08:23

+0

不用擔心,很高興我可以幫助:) – 2011-06-10 19:53:42

1

場景不顯眼,JQuery的只是對阿賈克斯的聯繫與a[data-ajax=true]匹配的背後,運行這段代碼:

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

asyncRequest只需運行帶有爲i組裝的所有選項的$ .ajax調用噸。

只需向您的鏈接發送點擊即可獲得相同的效果。假設你給你鏈接的ID與可選HtmlAttributes這樣的:

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

,你可以簡單地觸發它:

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