У меня есть два списка и один получатель событий. Получатель события устанавливает в столбце списка уникальный идентификатор (комбинация типа содержимого и идентификатора элемента).
В другом списке я использую строку запроса и новую форму, чтобы задать для поля тот же уникальный идентификатор, что и выше. Я также собираю дополнительную информацию в этой новой форме, с которой я хочу работать.
Как я могу запросить список, не зная идентификатора, но у меня есть другой уникальный идентификатор, который можно выделить из других элементов, чтобы я мог работать с ним так же, как в первом пункте SPitem, чтобы найти другие поля.
Получение моего первого предмета, чтобы получить уникальный заголовок:
SPSite currentSite = SPContext.Current.Site;
SPWeb web = currentSite.OpenWeb();
string queryString = Request.QueryString["uniqueID"];
SPList firstList = web.Lists["My First List"];
SPItem firstItem = firstList.Items.GetItemById(Convert.ToInt32(queryString));
это уникальный заголовок, с которым я хочу запросить второй список:
string uniqueTitle = firstItem["Title"].ToString();
готовлю мой второй список, готовый к действию:
SPList secondList = web.Lists["My Second List"];
Спасибо
ОТВЕТ:
// open the second list
SPList secondList = web.Lists["My Second List"];
// Query the second list for the item
SPQuery myQuery = new SPQuery();
myQuery.Query = "<Where><Eq><FieldRef Name = \"Title\"/>" +
"<Value Type = \"Text\">" + uniqueTitle +
"</Value></Eq></Where>";
// Get a collection of the second list items selected by the query and pick the first (0) value as it should only return one!
SPListItemCollection secondlistItemCol = secondList.GetItems(myQuery);
SPListItem secondItem = secondlistItemCol[0];