我有以下ajax.actionlink。我想将click事件添加到此actionlink。我怎么能这样做
<%= Ajax.ActionLink("text", "textaction", new { param = 1}, new AjaxOptions
{
OnSuccess = "updatePlaceholder",
UpdateTargetId = "result"
})%>
答案 0 :(得分:5)
点击事件处理程序已添加到此链接,因为您使用的是Ajax.ActionLink
帮助程序方法。此单击事件处理程序将取消默认操作并将AJAX请求发送到此链接指向的地址。您可以尝试设置OnBegin选项。
如果您在项目中使用jquery,则可以使用普通链接(Ajax.ActionLink
帮助程序没有将所有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将位于将由客户端浏览器缓存的单独文件中,因此您将减少带宽。
答案 1 :(得分:0)
您需要更改代码:
$('#mylink')。click(function(e){ e.preventDefault(); ....做你想做的事