【问题标题】:How to run Jquery on click of an ActionLink如何在单击 ActionLink 时运行 Jquery
【发布时间】:2011-11-25 08:01:21
【问题描述】:

当单击 MVC ActionLink 时如何运行 jquery?我有一个需要一些时间的操作。我想显示一个“处理”图像,直到它返回。有没有更好的方法来做到这一点?

【问题讨论】:

  • 您使用的是 Html.ActionLink 还是 Ajax.ActionLink ?

标签: jquery asp.net-mvc asp.net-mvc-2


【解决方案1】:

给actionlink一个类:

@Html.ActionLink("","", new { @class:"delete" })

然后你可以将你的 jQuery 与 js 文件中的类名挂钩:

$(document).ready(function() {
  $('.delete').click(function() {
    ///Code
  });
});

您也可以使用id

【讨论】:

  • 我用我的在删除某些内容之前获得确认窗口
  • 作为参考,必须使用指定控制器的 ActionLink 方法签名。所以,它看起来更像这样: Html.ActionLink("Process Billing", "ProcessBilling", "IndividualController",new {@class="process" })
【解决方案2】:

您也可以使用@Ajax.ActionLink 而无需jQuery 脚本。 例如,您可以在加载页面时显示一个 div。

<div>
@Ajax.ActionLink("Link name", "Action", "Controller", new AjaxOptions { LoadingElementId = "loadingId", UpdateTargetId = "MyDataTable" })
</div>

<div id="loadingId" style="display:none; color:Red; font-weight: bold">
<p>Please wait...</p>
</div>

<div id = "MyData" class="tablediv">
    <table id = "MyDataTable" class="Grid">
        <tbody id="chartdata">
        </tbody>
    </table>
</div>

【讨论】:

    【解决方案3】:
    $('#element-id').live('click', function(e) {
       //do stuff here ...
    });
    

    诀窍是为您的操作链接提供一个 ID HTML 属性,以便您可以将其用作元素 ID:

    $('#html-attribute-id').live('click', function(e) {
       //do stuff here ...
    });
    

    【讨论】:

      猜你喜欢
      • 2014-10-05
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      相关资源
      最近更新 更多