代码之家  ›  专栏  ›  技术社区  ›  Tassadaque

为ajax.actionlink调用javascript函数

  •  2
  • Tassadaque  · 技术社区  · 14 年前

    我有以下Ajax.ActionLink。我要将Click事件添加到此ActionLink。我该怎么做

    <%= Ajax.ActionLink("text", "textaction", new { param = 1}, new AjaxOptions
                                {                                   
                                    OnSuccess = "updatePlaceholder",                                
                                    UpdateTargetId = "result"
                                })%>
    
    2 回复  |  直到 10 年前
        1
  •  5
  •   Darin Dimitrov    14 年前

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

    如果在项目中使用jquery,那么 正常的 链接(无需将所有javascript添加到标记中 操作链接 帮助者):

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

    然后在单独的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;
        });
    });
    

    这样可以在标记和JavaScript文件之间实现清晰的分离。由于javascript将位于不同的文件中,这些文件将由客户端浏览器缓存,因此您将减少带宽。

        2
  •  0
  •   rosta    10 年前

    您需要更改代码:

    $(mylink')。单击(函数(e){ e.preventDefault(); ……随心所欲