سؤال

أحاول استخدام نموذج كائن جانب العميل الخاص بـ SharePoint 2013 لقراءة حقل بيانات تعريف مُدار ولكنني أحصل على نتائج فارغة

عندما أنظر إلى أعمدة الموقع، هناك 5 حقول في مجموعة الأعمدة "اسم المجموعة" التي يجب إرجاعها:

  • 1 سطر واحد من حقل النص
  • 4 حقول بيانات تعريفية مُدارة

أنا أستخدم C# للحصول على الأعمدة الموجودة في المجموعة:

private void StackDemo(){
    string contextUrl = "http://mysitecollection/sites/mysite";
    string columnGroup = "GroupName";
    var ctx = new ClientContext(contextUrl)
    {
        Credentials = CredentialCache.DefaultCredentials
    };
    var query = ctx.LoadQuery(from x in ctx.Web.Fields where x.Group== columnGroup select x);

    ctx.ExecuteQuery();
    return query.FirstOrDefault();
}

عندما أعرض نتائج الاستعلام، يمكنني عرض حقل النص العادي، ولكن جميع الحقول الأخرى فارغة (انظر لقطة الشاشة)

screen capture

الشيء الغريب هو أن هناك نتيجة لكل حقل بيانات وصفية، لكن القيمة موجودة null.

أريد أن

  1. تعرف على سبب ظهور القيم الخالية، على الرغم من أن الاستعلام يُرجع 5 عناصر كما هو متوقع

  2. احصل على الأسماء الداخلية للحقل لأعمدة بيانات التعريف المُدارة

هل كانت مفيدة؟

المحلول 2

اتضح أن الأمر يتعلق بمراجع SharePoint غير الصحيحة.

لقد بدأت في تطوير SharePoint 2010 ولكن خلال فترة التطوير تم تحديث الخادم إلى SharePoint 2013.لذلك كانت المراجع في مشروعي مرتبطة بـ 14 مكتبة الارتباط الحيوي (DLL) للخلية.أدى تحديث هذه لاستخدام 15 مكتبة الارتباط الحيوي (DLL) الخاصة بالخلية إلى استرداد الحقول بشكل صحيح

نصائح أخرى

تأكد من أن لديك أذونات كافية (على الأقل قراءة الوصول إلى متجر المصطلح) للوصول إلى خدمة بيانات التعريف المُدارة.يرجى الرجوع إلى المادة منح الإذن للوصول إلى خدمة بيانات التعريف المُدارة للحصول على التفاصيل.

وبدلاً من ذلك، يمكنك استخدام خدمة SharePoint REST للاستعلام عن الأسماء الداخلية للحقل لأعمدة بيانات التعريف المُدارة:

/_api/web/fields?$select=InternalName&$filter=TypeDisplayName eq 'Managed Metadata'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top