シナリオ:onbeforeunload現在のページ (ASP.NET アプリケーション) から移動する前にメッセージを表示するために使用している .aspx ページに機能があります。このページは非常に複雑で、ポストバックが何度も発生しています。たとえば、複数のボタン、Rad Grid、Rad Window ポップアップなどがあります。
したがって、すべてのボタンonbeforeunloadがクリックされるたびに呼び出され、メッセージボックスが不必要に呼び出されます。onbeforeunloadメッセージが表示されないようにするために、null を呼び出しcancelEventているボタンのイベントで別の関数を呼び出しています。OnClientClickこれを行うことで、すべてのボタン ポスト バックが処理されますが、私が使用している RadGrid にはボタン列 (削除) があり、行がグリッドから削除されるたびに、最終的に を呼び出すグリッドがオフコースで更新されますonbeforeunload。
onbeforeunloadRadGrid から何かを削除するときに、どのように防ぐことができるか教えてください。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')"/>