我正在编写此方法以跟踪页面上是否发生更改,以便用户可以触发重新加载从属系统。因此,当用户尝试离开页面时,您可以看到触发器。如果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);
}
}
}
答案 0 :(得分: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);
}
}
}