2012-04-17 2 views
13

ActionLink에 대한 확인 메시지를 표시 할 수 있습니까?MVC3 확인 링크가있는 동작 링크

자바 스크립트를 사용해야합니까? 그것 없이도 가능할까요?

저에게 도움이 될만한 사례가 있습니까?

감사합니다.

//I want to make a confirmation message appear before the link opens. 
@Html.ActionLink("Checkout and view order list", "Order", "Order") 

답변

38

을, 다음을 수행 할 수 있습니다 HTML 속성 onclick은 링크를 클릭 할 때 지정된 자바 스크립트를 실행합니다. 링크 (또는 양식의 제출 버튼)에서 onclick 이벤트가 false를 반환하면 작업 (양식을 게시하는 링크 다음)이 수행되지 않습니다. confirm(message) 함수는 사용자에게 지정된 메시지와 함께 확인 대화 상자를 표시하고 사용자의 응답에 따라 true 또는 false를 반환합니다. 내 경우

+0

+1 : 이것은 내가하는 일이기도합니다 –

+0

고마워요! 쉬운 솔루션! – wholee1

1

편집 : 짐에서 다른 하나를 사용,이 답변을 사용하지 마십시오.

ActionLink을 사용할 수 없습니다. 팝업을 표시하기 위해 일부 JavaScript (예 : here)를 작성해야합니다. Url.Action을 사용하면 자바 스크립트가 결국 게시물에 사용하거나 엔드 포인트를 가져 오는 URL을 생성 할 수 있습니다.

@Html.ActionLink("Checkout and view order list", "Order", "Order", null, new { onclick="return confirm('Are you sure you want to click this link?')" }) 

이것은을 추가합니다 :

내 자바 스크립트는 나쁘다, 그러나 나는이에서 아이디어를 얻을 생각 : 과부하 Html.ActionLink(string linkText, string actionName, string controllerName, object RouteValues, object HtmlAttributes) 일부 자바 스크립트를 사용

<a href="javascript:confirmation();">Checkout and view order list</a> 

<script> 
function confirmation() { 
var answer = confirm("Confirm?") 
if(answer) { 
    // Do something here, post or get 
    window.location = @Url.Action("Order", "Order"); 
} 
} 
</script> 
+0

ActionLink를 계속 사용할 수 있습니다. 그것은 독자적으로 확인을 할 수 없습니다. – yoozer8

+0

와우, 몰랐다. 끔찍한 해결책, +1 – eouw0o83hf

+0

예, ActionLink에는 과부하가 있습니다 (때로는 올바른 것을 사용하려고 애쓰는 경우가 있습니다). RouteValues와 HtmlAttributes도 꽤 유연하기 때문에 ActionLink를 사용하면 꽤 많이 할 수 있습니다. – yoozer8

0

가 이미 조치라는 버튼을했다 :

<input id="ButtonDelete" type="button" value="Delete Experiment" class="big-nevigation-button" onclick="if (confirm('Are you sure you want to delete experiment???')) location.href='@Url.Action("DeleteExperiment", "Experiment", new { experimentId = Model.ExperimentId })'" /> 

을 그리고 greate 작동 : 짐의 답변을 읽은 후

<input id="ButtonDelete" type="button" value="Delete Experiment" class="big-nevigation-button" onclick="location.href='@Url.Action("DeleteExperiment", "Experiment", new { experimentId = Model.ExperimentId })'" /> 

, 나는 다음에 그것을 변경! 감사합니다 Jim !!