の確認メッセージを表示できますActionLink
か?
JavaScript を使用する必要がありますか? それなしで可能ですか?
例を挙げていただけますか?
ありがとうございました。
//I want to make a confirmation message appear before the link opens.
@Html.ActionLink("Checkout and view order list", "Order", "Order")
の確認メッセージを表示できますActionLink
か?
JavaScript を使用する必要がありますか? それなしで可能ですか?
例を挙げていただけますか?
ありがとうございました。
//I want to make a confirmation message appear before the link opens.
@Html.ActionLink("Checkout and view order list", "Order", "Order")
オーバーロード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 を返します。
編集:この回答を使用しないでください。ジムの他の回答を使用してください。
使用することはできません。確認をポップアップ表示するActionLink
には、JavaScript (ここにリストされているものなど) を作成する必要があります。Url.Action
JavaScript が最終的に 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>
私の場合、すでにアクションを呼び出しているボタンがありました:
<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 })'" />
そして、それはうまく機能します!ありがとうジム!!