如何使用c#获取地址(街道)

本文关键字:街道 地址 获取 何使用 | 更新日期: 2023-09-27 18:06:18

我正在执行我的查询,它工作得很好,当我使用以下ColumnSet

...
ColumnSet = new ColumnSet(
  "name", 
  "address1_postalcode",
  "beep_cin",
  "telephone1",
  //"address1_street1", 
  "address1_city"),
...

然而,当我取消street引用的注释时,我得到一个错误,告诉我这样的属性不存在。我猜这与控件是复合的有关。

  1. 如何在CRM 2013中访问相当于CRM 2011中的address1_street1的内容?
  2. 为什么我可以访问其他地址_…字段像我习惯的,但不是street1?
<标题>编辑

我还发现,即使在客户端,使用JavaScript,似乎有一些奇怪的东西。让我们试着运行下面两行(frames[0]在那里是因为它在IE控制台窗口中是这样工作的,F12)。

frames[0].Xrm.Page.getAttribute("address1_street1").getValue()
frames[0].Xrm.Page.getAttribute("address1_city").getValue()

第一个返回的是Stockholm,第二个返回的是一个错误,因为返回的属性是null,尽管我已经按规定进入了街道。此外,我注意到以下行:

frames[0].Xrm.Page.getAttribute("address1_composite").getValue()

返回整个复合地址文本——街道、城市、国家等。在那个属性中,有一个对象叫做controls但我没有发现它有什么用。这既奇怪又出乎意料。我不喜欢奇怪和意外的结合。

请注意,怪异化发生在CRM13版本。

当然,我可以使用下面的暴行,但这真的是我们想在每个CRM开发人员的屏幕上看到的吗?它使我的眼睛流血,使我的生存意志枯萎。

Xrm.Page.getControl("address1_composite_compositionLinkControl_address1_line1")

此外,我仍然没有得到这个值,我仍然不知道如何在c#中使用它!

如何使用c#获取地址(街道)

我不知道您要检索哪个实体,但通常Address 1: Street1字段的逻辑名称是address1_line1

这里是Account实体的属性元数据:

http://msdn.microsoft.com/en-us/library/gg328057 (v = crm.5) . aspx # bkmk_attributes