2014-09-06 66 views
0

我看着其他问题已损坏:how to call javascript function in html.actionlink in asp.net mvc?展示如何添加onclick@Html.ActionLink,但我分配到onclick则永远不会调用我的情况的功能。Html.ActionLink的onclick JavaScript函数则不会调用和函数名在输出HTML

我尝试这些动作链接:

<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> 
+1

你不需要添加'javascript:'到onclick。你只会对链接上的“href”目标执行此操作。例如或者'onclick =“Call()”'或'href =“javascript:Call()”'。你可以在答案[http://stackoverflow.com/questions/2856071/how-to-call-javascript-function-in-html-actionlink-in-asp-net-mvc] – Rhumborl 2014-09-06 18:29:31

+0

@Rhumborl中看到这是在我问这里问题之前我用过的答案并没有奏效。请看看我的编辑它看起来像HTML浏览器看到类似的东西:'onclick = Call%28%29%3B' – Yoda 2014-09-06 18:37:40

+0

@JLRishe我张贴HTML在编辑在OP的底部似乎功能的名称已损坏那里。我在此处询问问题之前添加了用于解决问题的答案的链接。 – Yoda 2014-09-06 18:39:29

回答

3

您添加onclick处理程序中错误的地方。您必须将其放入Html Attributes区块而不是Route values。 尝试它:

<p>@Html.ActionLink("Call number", "Call", new { id = Model.Id, number = Model.CellNumber }, new { @class = "btn btn-default", onclick = "alert('a');" })</p>