2008-12-09 28 views
0

我試圖在SharePoint Designer中通過XML Web Services連接到SharePoint列表中創建一個數據源。我創建了數據源並連接到有問題的列表。我可以使用GetListItems查看所有數據,並且我想使用查詢參數進行過濾。如何在Sharepoint設計器中將查詢值作爲參數插入?

查詢參數接受一個XmlNode,當我把這個作爲值我得到一個錯誤:

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

當然,我還沒有輸入任何選項卡或換行,因爲我只有一個單SharePoint Designer中的行輸入字段。我收到此查詢的錯誤:

The server returned a non-specific error when trying to get data from the data source. Check the format and content of your query and try again. If the problem persists, contact the server administrator.

我只是想篩選列表項結果集是標題字段爲「富」的那些。這可以在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; 

更新:這似乎是一個有known issue部件SoapDataSource和SOAP調用。顯然,他們在提交之前會過度編碼<和>。給出的解決方法是在沒有查詢參數的情況下保存數據源,然後將其添加到頁面並在「公用數據視圖任務」對話框中創建過濾器。我能得到這個使用下面的過濾字符串的工作:

[@ows_Title = 'Foo'] 

不幸的是,這並不能幫助我很多,因爲我加入了數據視圖(顯示數據),而不是一個DataSource,我可以使用指向其他控件(如下拉列表)。

我仍然在尋找一個很好的解決方案,讓我使用SharePoint Designer放置數據源。

回答

1

有在SharePoint Designer中的錯誤。你不能傳遞一個查詢的物體T像這樣的SOAPDataSource - XML得到了過濾。沒有什麼可以解決它,除了使用Visual Studio。

我會告訴你是否有可用的修補程序。

如果有人想在新答案中引用此答案,我會接受該答案。

1

您是否對XML進行了編碼查詢?我相信你需要編碼的字符,如<,>和「等,這是有效的XML,如:

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

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

沒有工作。 – 2008-12-09 20:19:36

0

與列表標題領域工作過,它沒有返回值對我來說,除非我用「包含」。

然而,這可能不改正錯誤。

1

This顯示瞭如何使用變量來解決類似的問題。

相關問題