получить представление о списке - PullRequest
1 голос
/ 19 ноября 2010

У меня есть текстовый файл с именем списка и именем элемента. Мне нужно получить руководство по названию. как? (не использовать элемент foreach splistitem в splist, так как текстовый файл большой и цикл будет брать плату)

Ответы [ 3 ]

0 голосов
/ 22 ноября 2010

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsitedataquery.aspx или CamlQuery

SPListItemCollection items = web.Lists.GetItems (new SPQuery () {Query = "YOUR QUERY"});

0 голосов
/ 05 апреля 2013

Перейти на страницу настроек списка. Щелкните правой кнопкой мыши на «Название, описание и навигация» и скопируйте URL. Вставьте это в блокнот и скопируйте все после «List =» в строке. Это ваш URL Кодированный GUID для списка. Все, что вам нужно сделать, это расшифровать его здесь http://www.albionresearch.com/misc/urlencode.php

источник: http://weblogs.asp.net/jimjackson/archive/2008/02/11/get-a-sharepoint-list-guid-from-the-browser.aspx

для ручного получения каждого GUID определенного списка.

0 голосов
/ 22 ноября 2010

У вас может быть достаточно информации для использования функции SPWeb GetListItem , в противном случае вам нужно будет попробовать SPWeb.SearchListItems . Ни то, ни другое не будет быстрым.

Веб-сервисы имеют хорошую функцию поиска, которую я использовал, например:

  public static string GetPageId(string listName, string webPath, string pageTitle)
        {
            string pageId = "";
            IntranetLists.Lists lists = new IntranetLists.Lists();
            lists.UseDefaultCredentials = true;
            lists.Url = webPath + "/_vti_bin/lists.asmx";
            XmlDocument doc = new XmlDocument();
            doc.LoadXml("<Document><Query><Where><Contains><FieldRef Name=\"Title\" /><Value Type=\"Text\">" + pageTitle + "</Value></Contains></Where></Query><ViewFields /><QueryOptions /></Document>");
            XmlNode listQuery = doc.SelectSingleNode("//Query");
            XmlNode listViewFields = doc.SelectSingleNode("//ViewFields");
            XmlNode listQueryOptions = doc.SelectSingleNode("//QueryOptions");

            Guid g = GetWebID(webPath);

            XmlNode items = lists.GetListItems(listName, string.Empty, listQuery, listViewFields, string.Empty, listQueryOptions, g.ToString());
            foreach (XmlNode listItem in SPCollection.XpathQuery(items, "//sp:listitems/rs:data/z:row"))
            {
                XmlAttribute id = listItem.Attributes["ows_Id"];
                if (id != null)
                {
                    pageId = id.Value;                    
                }

            }
            return pageId;            
        }

 public static XmlNodeList XpathQuery(XmlNode xmlToQuery, string xPathQuery)
    {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xmlToQuery.OuterXml);
        XmlNamespaceManager mg = new XmlNamespaceManager(doc.NameTable);
        mg.AddNamespace("sp", "http://schemas.microsoft.com/sharepoint/soap/");
        mg.AddNamespace("z", "#RowsetSchema");                                   
        mg.AddNamespace("rs", "urn:schemas-microsoft-com:rowset");
        mg.AddNamespace("y", "http://schemas.microsoft.com/sharepoint/soap/ois");
        mg.AddNamespace("w", "http://schemas.microsoft.com/WebPart/v2");
        mg.AddNamespace("d", "http://schemas.microsoft.com/sharepoint/soap/directory");
        return doc.SelectNodes(xPathQuery, mg);
    }
...