0

ユーザーが依存システムのリロードをトリガーできるように、ページで変更が発生したかどうかを追跡するために、このメソッドを作成しています。このように、ユーザーがページから離れようとしたときにトリガーが表示されます。e.Cancel が存在しない場合、動作は問題ないように見えますが、非同期 Web サービス呼び出しは期待どおりに発生しますが、実際に何が起こっているのかはわかりません。

リロード ボタンのクリック メソッドは、通常は表示を更新する一連のイベントをトリガーしますが、ユーザーがページから移動したため、コンポーネントは表示されなくなります。これにより、アプリケーションに問題が発生する可能性はありますか? コールバックの問題を防ぐためだけに、ユーザーが同じページに留まるように強制する必要がありますか?

    protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    {
        base.OnNavigatingFrom(e);
        if (hasDataBeenModified)
        {
            if (System.Windows.Browser.HtmlPage.Window.Confirm("You have not reloaded the policies\nDo you want to do it now?"))
            {
                //e.Cancel = true;
                ReloadButton_Click(null, null);
            }
        }
    }
4

1 に答える 1

0

OnNavigatingFrom を使用する代わりに、OnBackKeyPress を使用します

protected override void OnBackKeyPress(CancelEventArgs e)
{
    if (hasDataBeenModified)
    {
        if (System.Windows.Browser.HtmlPage.Window.Confirm("You have not reloaded the policies\nDo you want to do it now?"))
        {
            e.Cancel = true;
            ReloadButton_Click(null, null);
        }
    }
}
于 2012-05-16T21:28:37.520 に答える