【发布时间】:2014-09-06 18:26:50
【问题描述】:
我查看了其他问题: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>
【问题讨论】:
-
您不需要将
javascript:添加到 onclick。您只会对链接上的href目标执行此操作。例如onclick="Call()"或href="javascript:Call()"。您可以在 [stackoverflow.com/questions/2856071/… 的回答中看到这一点 -
@Rhumborl 这是我在这里提出问题之前使用的答案,但没有奏效。请查看我的编辑,看起来 html 浏览器看到的内容如下:
onclick=Call%28%29%3B -
@JLRishe 我在 OP 底部的 EDIT 中发布了 HTML,似乎函数名称在那里已损坏。在我在这里提问之前,我添加了指向我用来解决问题的答案的链接。
标签: javascript html asp.net-mvc razor