javascript - Html.ActionLink onclick JavaScript 函数未调用,并且函数名称在输出 HTML 中已损坏

标签 javascript html asp.net-mvc razor

我查看了其他问题: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&amp;onclick=alert%28a%29%3B">Call Cell Phone</a></p>
<p> <a class="btn btn-default" href="/Person/Call/7?number=98873213&amp;onclick=Call%28%29%3B">Call Client&#39;s Secondary Number &#187;</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/

相关文章:

javascript - 在X3D模型中锁定滚动条(onmousewheel ="false")

php - 为循环中的每个表行赋予唯一类

c# - 如何制作 Response.Write(...);在我的 Controller 中

javascript - 在 Knockout 中调用 ajax 后 ViewModel 未更新

asp.net - 找不到 StructureMapConfiguration 对象

javascript - jQuery grep 数组[]

javascript - Rappid 中的链接箭头设计(JointJS?)

javascript - 如何从 jquery 中的文档调用 ajaxComplete 内的函数?

javascript - 遵循官方教程时webpack出错

javascript - CK Editor 的 Edit Content 对特定单词更改为 readonly