2014-09-06 67 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>