Как вставить значение запроса в качестве параметра в конструктор sharepoint? - PullRequest
0 голосов
/ 09 декабря 2008

Я пытаюсь создать источник данных в SharePoint Designer, который подключается к списку SharePoint через веб-службы XML. Я создал источник данных и подключился к соответствующему списку. Я могу просмотреть все данные, используя GetListItems, и хочу отфильтровать их с помощью параметра запроса.

Параметр запроса принимает XmlNode, и когда я помещаю его в качестве значения, я получаю сообщение об ошибке:

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

Конечно, я не вводил никаких вкладок или новых строк, так как в SharePoint Designer у меня есть только однострочное поле ввода. Я получаю сообщение об ошибке с этим запросом:

Сервер вернул неспецифический ошибка при попытке получить данные из источник данных. Проверьте формат и содержание вашего запроса и попробуйте еще раз. Если проблема сохраняется, свяжитесь с администратор сервера.

Я просто хочу отфильтровать наборы результатов элементов списка с полем Заголовок «Foo». Можно ли это сделать в SharePoint Designer?


Обновление: экранирование <и> таким способом также завершается неудачно:

&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 и вызовами SOAP. По всей видимости, они перед кодированием перезаписывают символы <и>. Обходное решение: сохранить источник данных без параметра запроса, а затем добавить его на страницу и создать фильтр в диалоговом окне «Общие задачи просмотра данных». Мне удалось заставить это работать, используя следующую строку фильтра:

[@ows_Title = 'Foo']

К сожалению, это не очень мне помогает, поскольку я добавляю представление данных (показывающее данные), а не источник данных, на который я могу указывать другие элементы управления (например, раскрывающийся список).

Я все еще ищу хорошее решение для этого, которое позволило бы мне разместить источник данных с помощью SharePoint Designer.

Ответы [ 4 ]

2 голосов
/ 22 декабря 2008

В SharePoint Designer есть ошибка. Вы не можете передать объект Query в SOAPDataSource следующим образом - XML ​​переопределяется. Вы ничего не можете сделать, чтобы это исправить, кроме использования Visual Studio.

Я сообщу, есть ли когда-нибудь исправление.

Если кто-то захочет процитировать этот ответ в новом ответе, я приму этот ответ.

1 голос
/ 26 октября 2011

В этом показано, как можно использовать переменные для решения аналогичной проблемы.

1 голос
/ 09 декабря 2008

Вы XML закодировали запрос? Я считаю, что вам нужно кодировать символы, такие как <,> и ", чтобы это был действительный XML, например:

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

и

&lt;FieldRef Name=&quot;Title&quot; /&gt;
0 голосов
/ 10 декабря 2008

Работая с полем Заголовок списка, он не возвращает значения для меня, если я не использовал «Содержит».

Однако это может не исправить вашу ошибку.

...