Dynamics crm 如何在代码隐藏中从CRM元数据源获取数据项列表?

Dynamics crm 如何在代码隐藏中从CRM元数据源获取数据项列表?,dynamics-crm,dynamics-crm-2011,crm,dynamics-crm-4,Dynamics Crm,Dynamics Crm 2011,Crm,Dynamics Crm 4,如何在代码隐藏中从CRM元数据源获取数据项列表 我有一个CRm元数据源,比如 <crm:CrmMetadataDataSource ID="dsquestionOptionset" runat="server" EntityName="contact" AttributeName="securityquestion"/> 但不可能 谢谢你的帮助 Vinu您需要查询元数据。下面的一个例子是: RetrieveAttributeRequest retrieveAttribut

如何在代码隐藏中从CRM元数据源获取数据项列表

我有一个CRm元数据源,比如

<crm:CrmMetadataDataSource ID="dsquestionOptionset" runat="server" EntityName="contact"
     AttributeName="securityquestion"/>
但不可能

谢谢你的帮助


Vinu

您需要查询元数据。下面的一个例子是:

RetrieveAttributeRequest retrieveAttributeRequest =
    new RetrieveAttributeRequest
{
    EntityLogicalName = Contact.EntityLogicalName,
    LogicalName = "new_picklist",
    RetrieveAsIfPublished = true
};

// Execute the request.
RetrieveAttributeResponse retrieveAttributeResponse =
    (RetrieveAttributeResponse)_serviceProxy.Execute(
    retrieveAttributeRequest);

// Access the retrieved attribute.
PicklistAttributeMetadata retrievedPicklistAttributeMetadata =
    (PicklistAttributeMetadata)
    retrieveAttributeResponse.AttributeMetadata;

// Get the current options list for the retrieved attribute.
OptionMetadata[] optionList =
    retrievedPicklistAttributeMetadata.OptionSet.Options.ToArray();

非常感谢你的建议。不幸的是,我忘了提到你建议的方法。我想用一行代码实现这个问题,如问题所示。还有其他建议吗?VinuSure,将其包装在函数中并返回数组。我真的不明白问题是什么,查询Crm或在网页中显示结果是否有问题?我需要数据源的所有数据项列表作为列表,以便在代码中操作一些函数。我想得到问题中提到的数据列表。我可以这样做吗?
RetrieveAttributeRequest retrieveAttributeRequest =
    new RetrieveAttributeRequest
{
    EntityLogicalName = Contact.EntityLogicalName,
    LogicalName = "new_picklist",
    RetrieveAsIfPublished = true
};

// Execute the request.
RetrieveAttributeResponse retrieveAttributeResponse =
    (RetrieveAttributeResponse)_serviceProxy.Execute(
    retrieveAttributeRequest);

// Access the retrieved attribute.
PicklistAttributeMetadata retrievedPicklistAttributeMetadata =
    (PicklistAttributeMetadata)
    retrieveAttributeResponse.AttributeMetadata;

// Get the current options list for the retrieved attribute.
OptionMetadata[] optionList =
    retrievedPicklistAttributeMetadata.OptionSet.Options.ToArray();