データ項目のいくつかの行を含むテーブルがあります。行ごとに、いくつかのメソッド(データ項目の削除、ステータスデータ項目の変更など)を呼び出すアクションリンクがいくつかあります。
各ユーザーがボタンをクリックする前に、jqueryダイアログを表示して、ユーザーに情報を含むダイアログ、[OK]および[キャンセル]ボタンを表示します。
ChangeStatusメソッドを呼び出すajax.actionlinkのサンプルコード:
<%= Ajax.ActionLink(item.Status, "ChangeStatus", new { id = item.Id }, new AjaxOptions { UpdateTargetId = "ListReturns-Div", OnBegin = "StartChangeStatus", OnSuccess = "EndChangeStatus", OnFailure = "FailureChangeStatus" }, new { @class = "StatusBtn" })%>
これは、呼び出されるjquery関数です。
function StartChangeStatus(e) {
$('#dialog-confirm').dialog({
resizable: false,
height: 200,
modal: true,
buttons: {
'Continue': function () {
$(this).dialog('close');
$('#Loading-Div').show('slow');
},
Cancel: function () {
$(this).dialog('close');
e.preventDefault();
}
}
});
}
actionlink関数とjquery関数が機能します。しかし、問題は、アクションリンクがクリックされたときに現在のアクションを一時停止/停止できないことです。ボタンをクリックすると、穴あけプロセスが実行され、ダイアログ確認ボタンは無視されます。だから私の質問は、先に進む前に、ダイアログの確認で必要に応じて動作するようにactionlinkまたはjquery関数を変更する方法ですか?