シナリオ:onbeforeunload
現在のページ (ASP.NET アプリケーション) から移動する前にメッセージを表示するために使用している .aspx ページに機能があります。このページは非常に複雑で、ポストバックが何度も発生しています。たとえば、複数のボタン、Rad Grid、Rad Window ポップアップなどがあります。
したがって、すべてのボタンonbeforeunload
がクリックされるたびに呼び出され、メッセージボックスが不必要に呼び出されます。onbeforeunload
メッセージが表示されないようにするために、null を呼び出しcancelEvent
ているボタンのイベントで別の関数を呼び出しています。OnClientClick
これを行うことで、すべてのボタン ポスト バックが処理されますが、私が使用している RadGrid にはボタン列 (削除) があり、行がグリッドから削除されるたびに、最終的に を呼び出すグリッドがオフコースで更新されますonbeforeunload
。
onbeforeunload
RadGrid から何かを削除するときに、どのように防ぐことができるか教えてください。OnClientClick
以下は、私が使用していてボタンに対して正常に動作しているコード スニペットですが、グリッドの削除列の助けが必要cancelEvent
です。
window.onbeforeunload = confirmExit;
function confirmExit() {
window.event.returnValue = 'If you navigate away from this page any unsaved changes will be lost!';
}
function cancelEvent(event) {
window[event] = function () {null}
}
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" CssClass="ActionButtons"
ValidationGroup="vsDataEntry" OnClientClick="return cancelEvent('onbeforeunload')"/>