Dynamics 365/CRM 保存之后触发onchange

Posted TencentLee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dynamics 365/CRM 保存之后触发onchange相关的知识,希望对你有一定的参考价值。

有时候一些开发人员可能会遇到这样的问题而不知道其原因:

在一个字段注册了onchange事件之后,保存表单,发现onchange 又再次触发了一遍。

或者,在Ribbon 中使用

Xrm.Page.data.save(saveOptions).then(successCallback, errorCallback)

在successCallback,errorCallback中均没有调用字段的fireOnchange,然而字段的onchange又被触发了。

原因是CRM 在刷新页面数据时,会比较字段保存之前及保存之后的值,如果在保存之前没有改变字段值,在保存中使用插件修改了字段值,

CRM 在做字段值比较时会发现保存前后不一致,从而触发字段的onchange事件,保证onchange 事件会被正确执行。

在SDK 有明确的说明:

Field OnChange event


The OnChange event usually occurs when the data in a form field has changed and focus is lost. 

This event also occurs when data changes on the server are retrieved to update a field when the form is refreshed, such as after a record is saved.



以上是关于Dynamics 365/CRM 保存之后触发onchange的主要内容,如果未能解决你的问题,请参考以下文章

怎样Debug Dynamics 365 CRM Plugin

创建一个dynamics 365 CRM online plugin (Not finished)

创建一个dynamics 365 CRM online plugin - Isolation mode or trust mode

尝试 Web API Dynamics 365 CRM - 403-禁止错误

如何通过 Dynamics 365 CRM 中的 C# 插件填充查找字段

怎样创建一个dynamics 365 CRM online plugin