MVC3 ActionLink的与确认对话框(MVC3 Actionlink with confir

2019-07-29 01:18发布

我可以显示一个确认消息ActionLink

我需要使用JavaScript? 是否有可能没有呢?

你能给我一些例子吗?

谢谢。

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

Answer 1:

使用过载Html.ActionLink(string linkText, string actionName, string controllerName, object RouteValues, object HtmlAttributes)和一些JavaScript,你可以做到以下几点:

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

这将增加的onclick的HTML属性,点击该链接时将执行指定的JavaScript。 如果链接上的onclick事件(或表单的提交按钮)返回false,动作(下面的链接,发布形式)不会发生。 该confirm(message)函数示出了用户使用指定的消息的确认对话框,并且根据用户的响应返回真或假。



Answer 2:

编辑 :请不要使用这样的回答,请使用吉姆另一个。

您将无法使用ActionLink -你必须写一些JavaScript(如上市这里 )将弹出一个确认。 您可以使用Url.Action生成的JavaScript将最终使用后或得到端点的URL。

我的JavaScript是坏的,但我认为这一点对有想法:

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


Answer 3:

在我来说,我有一个按钮,就称为操作:

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

阅读吉姆的回答后,我把它改成如下:

<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 })'" />

和它的作品马丽娟! 感谢吉姆!



文章来源: MVC3 Actionlink with confirmation dialog