我查看了其他问题:how to call javascript function in html.actionlink in asp.net mvc? 显示了如何将 onclick
添加到 @Html.ActionLink
但在我的例子中,我将函数分配给了 onclick
从未被调用。
我尝试了这些操作链接:
<p>@Html.ActionLink("Call number", "Call", new { id = Model.Id, number = Model.CellNumber, onclick = "javascript:alert(a);" }, new { @class = "btn btn-default" })</p>
<p> @Html.ActionLink("Call number »", "Call", new { id = Model.Id, number = Model.SecondaryPhoneNumber, onclick = "javascript:Call();" }, new { @class = "btn btn-default" })</p>
该函数如下所示:
<script>
function Call(){
alert("BLA");
}
</script>
但两种情况下(第一个和第二个按钮)都不会显示警报。除此之外,操作链接也有效。
问题:我做错了什么?
编辑:
html 中的操作链接看起来像这样,而且看起来已损坏:onclick=Call%28%29%3B
<p><a class="btn btn-default" href="/Person/Call/7?number=113-456-789&onclick=alert%28a%29%3B">Call Cell Phone</a></p>
<p> <a class="btn btn-default" href="/Person/Call/7?number=98873213&onclick=Call%28%29%3B">Call Client's Secondary Number »</a></p>
该函数看起来应该是:
<script>
function Call(){
alert("BLA");
}
</script>
最佳答案
您在错误的位置添加了 onclick 处理程序。您必须将其放在 Html Attributes
block 中,而不是 Route value
中。
尝试一下:
<p>@Html.ActionLink("Call number", "Call", new { id = Model.Id, number = Model.CellNumber }, new { @class = "btn btn-default", onclick = "alert('a');" })</p>
关于javascript - Html.ActionLink onclick JavaScript 函数未调用,并且函数名称在输出 HTML 中已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25703442/