为ajax.actionlink调用javascript函数

Tas*_*que 2 ajax asp.net-mvc actionlink asp.net-mvc-2

我有以下ajax.actionlink.我想将click事件添加到此actionlink.我怎样才能做到这一点

<%= Ajax.ActionLink("text", "textaction", new { param = 1}, new AjaxOptions
                            {                                   
                                OnSuccess = "updatePlaceholder",                                
                                UpdateTargetId = "result"
                            })%>
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 5

click事件处理程序已添加到此链接,因为您正在使用Ajax.ActionLink帮助程序方法.此单击事件处理程序将取消默认操作并将AJAX请求发送到此链接指向的地址.您可以尝试设置OnBegin选项.

如果你在你的项目中使用jquery你可以有一个普通的链接(没有帮助器将所有的javascript添加到你的标记Ajax.ActionLink):

<%= Html.ActionLink(
    "text", 
    "textaction",
    new { param = 1 },
    new { id = "mylink" })
%>
Run Code Online (Sandbox Code Playgroud)

然后在单独的javascript文件中附加click事件处理程序:

$(function() {
    $('#mylink').click(function() {
        // here you could execute some custom code
        // before sending the AJAX request
        $('#result').load(this.href, function() {
            // success function
        });
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

这种方式将实现标记和javascript文件之间的明确分离.由于javascript将位于将由客户端浏览器缓存的单独文件中,因此您将减少带宽.