Мне действительно нужен цикл foreach для этого ?!(foreach, вероятно, излишним) - PullRequest
0 голосов
/ 10 декабря 2010

Мне нужно получить GUID предмета.Я знаю SiteURL, имя списка и название элемента.Как получить руководство по этому элементу, кроме использования splistitem li в list.items и циклического прохождения каждого элемента (если li.name == myitemname, тогда назначьте strguid = li.uniqueid.tostring ()

способ не использовать цикл foreach, так как я знаю имя элемента? Это сэкономит время на цикл элементов.

Ответы [ 4 ]

1 голос
/ 11 декабря 2010

Если вы создаете spquery для своего уникального элемента в splistcollection, вам будет возвращен только один элемент, который вы можете получить без foreach

0 голосов
/ 14 декабря 2010

Попытка сделать следующее, и, кажется, это работает.

0 голосов
/ 13 декабря 2010

Работает, но у меня 11 файлов, и все они имеют одинаковое имя файла "license.txt", и они находятся в одной библиотеке документов. 1 файл "license.txt" находится в корневой библиотеке документов, а остальные 10 в 10 разных папках в библиотеке документов. так что если я ищу файл license.txt, который находится в папке Demo?

Этот код работает, но только находит файл license.txt в корневом каталоге. private void btnGetFileGuid_Click(object sender, EventArgs e) { using (SPSite site = new SPSite("https://www.abc.com/sites/Software")) { using (SPWeb web = site.OpenWeb()) { SPList spList = web.Lists["Auto Cad"]; string fileName = "license.txt"; SPQuery query = new SPQuery(); query.Query="<Where><Eq><FieldRef Name='FileLeafRef' /><Value Type='Text'>" + fileName + "</Value></Eq></Where>"; SPListItemCollection items = spList.GetItems(query); if (items.Count > 0) { Guid id = items[0].UniqueId; lblGuid.Text = id.ToString(); } } } }

0 голосов
/ 12 декабря 2010
 using (SPSite site = new SPSite(SiteURL))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPList apps = web.GetList(web.Url + "/Lists/MyList");
                    SPQuery query = new SPQuery();
                    query.Query = String.Format("<Where><Eq><FieldRef Name='Title' /><Value Type='String'>{0}</Value></Eq></Where>", _title);
                    items = apps.GetItems(query);
                    if(items.Count > 0)
                       {
                         Guid id = items[0].UniqueId;
                       }
                }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...