【发布时间】:2011-11-25 08:01:21
【问题描述】:
当单击 MVC ActionLink 时如何运行 jquery?我有一个需要一些时间的操作。我想显示一个“处理”图像,直到它返回。有没有更好的方法来做到这一点?
【问题讨论】:
-
您使用的是 Html.ActionLink 还是 Ajax.ActionLink ?
标签: jquery asp.net-mvc asp.net-mvc-2
当单击 MVC ActionLink 时如何运行 jquery?我有一个需要一些时间的操作。我想显示一个“处理”图像,直到它返回。有没有更好的方法来做到这一点?
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-2
给actionlink一个类:
@Html.ActionLink("","", new { @class:"delete" })
然后你可以将你的 jQuery 与 js 文件中的类名挂钩:
$(document).ready(function() {
$('.delete').click(function() {
///Code
});
});
您也可以使用id。
【讨论】:
您也可以使用@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>
【讨论】:
$('#element-id').live('click', function(e) {
//do stuff here ...
});
诀窍是为您的操作链接提供一个 ID HTML 属性,以便您可以将其用作元素 ID:
$('#html-attribute-id').live('click', function(e) {
//do stuff here ...
});
【讨论】: