تعيين حقل "الجماهير المستهدفة" مع قيم متعددة على عنصر القائمة

StackOverflow https://stackoverflow.com/questions/2030991

سؤال

أحاول تعيين حقل "الجماهير المستهدفة" على عنصر قائمة برمجيا. لقد تمكنت من ضبط القيمة برمجيا لجمهور واحد، ولكن عندما أحاول استخدام جماهير متعددة، يحاول SharePoint تفسير القيمة التي أقيمها كجمهور واحد، بدلا من المتعدد. أنا أعتبر القيمة باستخدام الرمز أدناه.

listItem[listItem.Fields["Target Audiences"].InternalName] = "Audience One";

يمكنني استخدام هذا الرمز لتحديد جمهور متعددة مثل ذلك:

listItem[listItem.Fields["Target Audiences"].InternalName] = "Audience One; Audience Two";

عندما أقوم بذلك، يحاول SharePoint تفسير السلسلة بأكملها كجمهور واحد، وأحصل على رسالة عند تحرير عنصر القائمة الذي يقول "No exact match was found."

أنا أستخدم التنسيق الصحيح لتحديد جمهور متعددة لهذا الحقل، أم أن هناك فئة يجب أن أستخدمها مماثلة ل SPFieldLookupValue?

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

المحلول 2

أدركت فقط أنني لم أعد ابدأ وأجاب ذلك.

انتهى بي الأمر بتخزين أسماء الجماهير في عمود متصل بكل عنصر قائمة، ثم استعلام نموذج الكائن لمعرفة ما إذا كان المستخدم الحالي عضو في هذه الجماهير. هذا عملت بالنسبة لي لأنني كنت أسحب البيانات من عنصر القائمة في جزء ويب مخصص، ولم ير اسم المستخدم أبدا عنصر القائمة الفعلية.

نصائح أخرى

لا أعرف كيفية حفظ جماهير متعددة في Splistitem، ولكن إذا كان لدي هذه المشكلة، فسأحاول طباعة قيمة هذا الحقل من برنامج نصي PowerShell. شيء مثل:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint");
$site = Microsoft.SharePoint.SPSite("http://yourserver");
$web = $site.openweb();
$list = $web.lists["YourList"];
$item = $list.getitembyid(itemid);
write-output $item["Target Audiences"];

تحرير: وجدت بعض المعلومات حول ما قيمة مجال الجمهور في الواقع: http://dotnetmafia.sys-con.com/node/1181567/mobile.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top