<%: Ajax.ActionLink("View Code Status", "GetCodes", "BvIndex",
new { id = o.Id },
new AjaxOptions { UpdateTargetId = count.ToString() },
new { @id = "h" + count.ToString()}) %>
我想在进行ajax调用后隐藏链接。我尝试在成功和不完整的方法上做,但我无法做到这一点。 任何解决方案。
这是我尝试成功的方式,我能够隐藏它,但我收到了错误。
<%: Ajax.ActionLink("View Code Status", "GetCodes", "BvIndex",
new { id = o.Id },
new AjaxOptions {
OnSuccess = "functionhide("+count+")",
UpdateTargetId = count.ToString()
},
new { @id = "h" + count.ToString()})%>
onsuccess功能
function functionhide(count) {
$("#h" + (count)).hide();
};
这样工作正常但是,我收到一个错误说,
Microsoft JScript运行时错误:'b'为null或不是对象
答案 0 :(得分:1)
试试这样:
<%= Ajax.ActionLink(
"View Code Status",
"GetCodes",
"BvIndex",
new { id = o.Id },
new AjaxOptions {
OnSuccess = "functionhide",
UpdateTargetId = count.ToString() // <-- Warning you are probably having invalid markup as ids cannot start with a number
},
new {
id = "h" + count.ToString()
}
) %>
然后:
function functionhide() {
$(this).hide();
}
答案 1 :(得分:0)
我发现这个Stack Overflow post可能会帮助你...他们注意到收到相同的错误消息并使OnSuccess
值成为匿名函数似乎解决了这个问题。
答案 2 :(得分:0)
简单的解决方案是使用 -
OnComplete="javascript:this.style.display='none'"
e.g。
@Ajax.ActionLink(
"Hide button before ajax",
"myAction",
new AjaxOptions { OnComplete="javascript:this.style.display='none'" }
)