在服务器端更新字段后,防止触发OnChange函数

当我将OnChange函数注册到字段时,如果在服务器端的插件上更新字段,则会触发它(On Dynamics Crm 2015)

是否可以阻止此行为(以受支持的方式)?

示例代码:

1.客户方:

Xrm.Page.getAttribute("org_myfield").addOnChange(function () { alert("org_myfield was changed") }); 

2.服务器端:

 internal void OnPreUpdateRequest(org_myentity target, org_myentity preImage) { target.org_myfield = "some value"; } 

3.结果 (保存记录和插件完成运行后):

 "org_myfield was changed" 

必需结果:不应触发警报。

我相信这是你想要的:
1.当用户在此字段上进行更改时,请在更改函数上调用JavaScript;
2.保存记录后,插件也可能会更改字段的值;
3.如果插件更改了字段值,请跳过JavaScript函数。

如果这是正确的,我会这样尝试:
从字段中删除onChange事件,而不是检查表单的onSave事件中的字段状态。
使用Xrm.Page.getAttribute("org_myfield").getIsDirty()来确定用户是否对该字段进行了任何更改。 它只检查客户端的更改,因此它不会受插件的影响。