简体   繁体   English

调用SharePoint Web服务时GetListItems()方法的参数?

[英]Parameters of GetListItems() method while calling SharePoint webservice?

I'm calling SharePoint web service in asp.net. 我在asp.net中调用SharePoint Web服务。 Following is my code. 以下是我的代码。 In that EmpPortal is name of service reference. 在此, EmpPortal是服务引用的名称。

  EmpPortal.Lists L = new EmpPortal.Lists();
  L.Credentials = System.Net.CredentialCache.DefaultCredentials;

  XmlDocument xmlDoc = new System.Xml.XmlDocument();

  XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");
  XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");
  XmlNode ndQueryOptions = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");

  ndQueryOptions.InnerXml = 
         "<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" +
         "<DateInUtc>TRUE</DateInUtc>";

  ndViewFields.InnerXml = "<FieldRef Name='ows_Calendar Type' />" +
                          "<FieldRef Name='ows_Title'/>" +
                          "<FieldRef Name='ows_Holiday Type'/>" +
                          "<FieldRef Name='ows_Day'/>" +
                          "<FieldRef Name='ows_Holiday Date'/>";

  ndQuery.InnerXml = "<Where><Gt><FieldRef Name='ows_Holiday Date'/>" +
                "<Value Type= 'DateTime'>2014-01-01T00:00:00</Value></Gt></Where>"; 
XmlNode n = L.GetListItems("Holidays", null, ndQuery,ndViewFields ,null,ndQueryOptions, null);

I m facing problem with what Name I should give in FieldRef tag. 我在FieldRef标记中应该输入什么名称时遇到问题。 because with this code I'm getting exception : 'Microsoft.SharePoint.SoapServer.SoapServerException' 因为使用此代码,我得到了异常:'Microsoft.SharePoint.SoapServer.SoapServerException'

So please give me more clarity about parameters of Lists.GetListItems() ? 因此,请给我更多有关Lists.GetListItems()参数的Lists.GetListItems() and how I should use them for my code. 以及如何在代码中使用它们。

happy to say friends I got answer to my question 很高兴说朋友们我得到了我的问题的答案

            ndViewFields.InnerXml = "<FieldRef Name= 'Calendar Type' />" +
                     "<FieldRef Name='Title'/>" +
                     "<FieldRef Name='Holiday Type' />" +//HERE SPACE IS THERE IN BETWEEN WORDS
                     "<FieldRef Name='Day'/>" +
                     "<FieldRef Name='Holiday Date'/>";  //HERE SPACE IS THERE IN BETWEEN WORDS


                ndQuery.InnerXml = String.Format("<Where><Gt><FieldRef Name='Holiday_x0020_Date'></FieldRef><Value Type='DateTime'>2014-01-01T00:00:00</Value></Gt></Where>");

main change required was to replace SPACE with x0020 with prefix and postfix with underscore character as shown in above code. 所需的主要更改是用带下划线字符的前缀和后缀替换x0020的SPACE,如上面的代码所示。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM