我正在尝试将 Dynamics CRM 中的值获取到 HTML Web 资源中。我找到了这个并尝试用它编写代码:
https://msdn.microsoft.com/en-us/library/jj602964(v=crm.7).aspx
它说使用
var nameValue = Xrm.Page.getAttribute("name").getValue();
将其取出。
我的代码是(警报只是为了尝试它是否获得正确的值):
<html><head>
<meta charset="utf-8">
</head>
<body>
<button onclick="getquotenumber()">Try it</button>
<script>
function getquotenumber() {
var getquote = Xrm.Page.getAttribute("quotenumber").getValue();
alert(getquote);
}
</script>
</body></html>
单击“尝试”时没有任何反应!我做错了什么?
谢谢,约翰内斯
正如有人在评论中提到的,没有定义 Xrm.Page。您可以通过引用 ClientGlobalContext 添加该内容,但无论如何您都不会获得任何属性,因为这是在幕后使用 Xrm.Page.data,并且当您不在 CRM 表单内时,该数据为 null。 https://msdn.microsoft.com/en-us/library/gg328541.aspx
<script src="ClientGlobalContext.js.aspx" type="text/javascript"></script>
仅获取这一个值的最简单的方法是使用父级来获取表单上的值:
window.parent.Xrm.Page.getAttribute("quotenumber").getValue();
其他选项, 将值传递给您的网络资源: https://msdn.microsoft.com/en-us/library/gg327945.aspx
或者使用 OData API: https://msdn.microsoft.com/en-us/library/gg334279.aspx
使用
parent.Xrm.Page.getAttribute("quotenumber").getValue();