阻止在 Web 资源 Dynamics CRM Online 上使用未保存数据的导航页面

Prevent navigation page with unsave data on web resource Dynamics CRM Online

如果我在 Dynamics HTML CRM 网络资源文件中有未保存的数据,是否可以阻止导航到另一个实体或任何地方?

实际上,当用户按下历史记录按钮时,我正在验证,但是当点击 CRM 上的另一个操作时 window,我丢失了表单上未保存的数据。

有什么建议吗?

这可以通过不受支持的(window.onbeforeunload)代码来完成:

写一个函数(在你的网络资源中)负责检查网络资源是否脏?

function isMyWebResourceIsDirty()
{
}

通过 Xrm 对象公开此函数,以便整个页面都可以访问此函数(此代码位于您的网络资源中):

Xrm.fnIsMyWebResourceIsDirty = isMyWebResourceIsDirty;

此代码应在表单加载时触发(此代码应在您的主表单上)

$(document).ready(function () {
    window.onbeforeunload = function() {
      if(Xrm.fnIsMyWebResourceIsDirty()){
      alert('Save the changes first...');
      return;
      }
    }
}

我希望这对你有用。