سؤال

أحاول إنشاء مصدر بيانات في مصمم SharePoint يتصل بقائمة SharePoint عبر خدمات الويب XML. لقد قمت بإنشاء مصدر البيانات وتواصل مع القائمة المعنية. يمكنني عرض جميع البيانات باستخدام GetListItems ، وأريد تصفيةها باستخدام معلمة الاستعلام.

تأخذ معلمة الاستعلام xmlnode ، وعندما أضع هذا كقيمة أحصل على خطأ:

<Query>
    <Where>
        <Eq>
            <FieldRef Name="Title" />
            <Value Type="Text">Foo</Value>
        </Eq>
    </Where>
</Query>

بالطبع ، لم أدخل أي علامات تبويب أو خطوط جديدة ، حيث ليس لدي سوى حقل إدخال خط واحد في مصمم SharePoint. تلقيت خطأ في هذا الاستعلام:

أعاد الخادم خطأ غير محدد عند محاولة الحصول على بيانات من مصدر البيانات. تحقق من تنسيق ومحتوى استعلامك وحاول مرة أخرى. إذا استمرت المشكلة ، فاتصل بمسؤول الخادم.

أرغب ببساطة في تصفية مجموعة عناصر القائمة لتكون تلك التي تحتوي على حقل العنوان "FOO". هل يمكن القيام بذلك في مصمم SharePoint؟


تحديث: فشل الهروب من <و> بهذه الطريقة أيضًا:

&lt;Query&gt;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name=&quot;Title&quot; /&gt;&lt;Value Type=&quot;Text&quot;&gt;Foo&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&lt;/Query&gt;

تحديث: يبدو أن هذا قضية معروفة مع مكونات SoapDataSource ومكالمات الصابون. على ما يبدو ، إنهم يفرطون في تشفير <'s و> قبل تقديمهم. يتمثل الحل البديل في حفظ مصدر البيانات بدون معلمة استعلام ، ثم إضافته إلى الصفحة وإنشاء مرشح في مربع حوار عرض البيانات الشائعة. تمكنت من الحصول على هذا العمل باستخدام سلسلة التصفية التالية:

[@ows_Title = 'Foo']

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

ما زلت أبحث عن حل جيد في هذا يتيح لي وضع مصدر بيانات باستخدام SharePoint Designer.

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

المحلول

هناك خطأ في مصمم SharePoint. لا يمكنك تمرير كائن الاستعلام إلى SoapDataSource مثل هذا - يتم إفراط XML. لا شيء يمكنك القيام به لإصلاحه ، باستثناء استخدام Visual Studio.

سأخبرك إذا كان هناك إصلاح ساخن متاح.

إذا كان أي شخص يريد أن يقتبس من هذه الإجابة في إجابة جديدة ، فسوف أقبل هذه الإجابة.

نصائح أخرى

هل قمت بترميز استعلام XML؟ أعتقد أنك بحاجة إلى تشفير أحرف مثل <،> و "بحيث يكون صحيحًا XML ، على سبيل المثال:

&lt;Query&gt;&lt;Where&gt;

و

&lt;FieldRef Name=&quot;Title&quot; /&gt;

هذه يوضح كيف يمكن استخدام المتغيرات لمعالجة مشكلة مماثلة.

بعد أن عملت مع حقل عنوان القائمة ، لا يعيد لي القيم بالنسبة لي ما لم أستخدم "يحتوي".

هذا قد لا يصلح خطأك.

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