我将sharepoint连接到sql server db。我根据外部内容类型制作了一个列表。由于数据量很大,我必须在添加外部内容类型操作期间添加过滤器参数 - 在列表中。我使用默认值添加通配符和限制过滤器。我在外部内容类型上创建了列表。我运行默认列表网站。我没有看到任何数据。所以我编辑网页和
<Method Name="ExternalList">
<Filter Name="Filter" Value="A*"/>
<Filter Name="Limit" Value="50"/>
</Method>
这样它就起作用了。
我在 C# wpf 应用程序中编写
server.Lists client = new server.Lists();
client.Url = string.Format("{0}/_vti_bin/Lists.asmx", FixUrl("http://server:port/sites/SiteCollecion/"));
client.Credentials = System.Net.CredentialCache.DefaultCredentials;
try
{
string xmlQueryContent = @"<Query xmlns=""http://schemas.microsoft.com/sharepoint/soap/""></Query>";
XmlDocument docQuery = new XmlDocument();
docQuery.LoadXml(xmlQueryContent.ToString());
XmlNode QueryNode = docQuery.DocumentElement;
string xmlQueryOptionsContent = @"<QueryOptions></QueryOptions>";
XmlDocument docQueryOptions = new XmlDocument();
docQueryOptions.LoadXml(xmlQueryOptionsContent.ToString());
XmlNode QueryOptionsNode = docQueryOptions.DocumentElement;
XmlNode clientsNode = client.GetListItems("ExternalList", null, QueryNode, null, null, null, null);
DataSet clientsListsDataSet = new DataSet();
XmlReader clientsReader = new XmlNodeReader(clientsNode);
XmlReadMode oko = clientsListsDataSet.ReadXml(clientsReader);
Console.WriteLine(clientsNode.InnerText);
Console.WriteLine(clientsNode.InnerXml);
}
我得到 0 行结果。所以没有填充过滤器。是否可以在 C# 应用程序中设置它们?
连接工作正常,因为当我连接到非外部列表时我得到了结果。