2014-09-06 2 views
0

onclick을 추가하는 방법을 보여 주지만 내 경우에는 onclick에 할당 된 함수는 호출되지 않습니다. Html.ActionLink onclick JavaScript 함수가 호출되지 않고 함수의 이름이 출력에서 ​​손상되었습니다.

나는 이러한 행동 링크를 시도 :

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

하지만 경고가 두 경우 (제 1 및 제 2 버튼)에 표시되지 않습니다. 그 행동 링크가 깨어 난다.

질문 : 내가 뭘 잘못 했습니까?

편집 : 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

onclick에'javascript :'를 추가 할 필요가 없습니다. 링크에서'href' 타겟에 대해서만 이것을 수행 할 것입니다. 예 : 'onclick = "Call()"'또는'href = "javascript : Call()"'. 이에 대한 답변은 [http://stackoverflow.com/questions/2856071/how-to-call-javascript-function-in-html-actionlink-in-asp-net-mvc] – Rhumborl

+0

@Rhumborl입니다. 내가 여기에 질문을하고 일하지 않기 전에 내가 사용한 대답. 내 편집을 보면 HTML 브라우저에서 다음과 같은 결과를 얻는 것처럼 보입니다.'onclick = Call % 28 % 29 % 3B' – Yoda

+0

@JLRishe OP 맨 아래에서 EDIT에 HTML을 게시하면 함수 이름이 손상된 것처럼 보입니다. 질문을하기 전에 문제 해결에 사용 된 대답에 대한 링크를 추가했습니다. – Yoda

답변

3

당신은에 온 클릭 처리기를 추가 잘못된 장소. 대신 Route values 블록 Html Attributes 블록에 넣어야합니다. 사용해보기 :

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