13

の確認メッセージを表示できますActionLinkか?

JavaScript を使用する必要がありますか? それなしで可能ですか?

例を挙げていただけますか?

ありがとうございました。

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

4 に答える 4

39

オーバーロード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?')" })

これにより、HTML 属性 onclick が追加され、リンクがクリックされたときに指定された JavaScript が実行されます。リンク (またはフォームの送信ボタン) の onclick イベントが false を返した場合、アクション (リンクをたどる、フォームを投稿する) は発生しません。このconfirm(message)関数は、指定されたメッセージを含む確認ダイアログをユーザーに表示し、ユーザーの応答に応じて true または false を返します。

于 2012-04-17T20:03:05.073 に答える
1

編集:この回答を使用しないでください。ジムの他の回答を使用してください。

使用することはできません。確認をポップアップ表示するActionLinkには、JavaScript (ここにリストされているものなど) を作成する必要があります。Url.ActionJavaScript が最終的に post または get エンドポイントに使用する 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>
于 2012-04-17T19:59:08.437 に答える
0

私の場合、すでにアクションを呼び出しているボタンがありました:

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

Jim の回答を読んだ後、次のように変更しました。

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

そして、それはうまく機能します!ありがとうジム!!

于 2014-10-29T09:13:35.533 に答える