我正在尝试获取SharePoint(本地)列表中项目的列表项目URL。项目URL是否在“查找”中。如果它存在于查找中,那么包含项URL(值)的查找的名称(关键字)是什么。帮助我根据需要将URL添加到数据表中。
我已经检查了获得SP列表项所得到的列表项集合。有什么方法可以获取列表项的URL。
System.Data.DataTable DT = new DataTable();
SP.List oList = SP_List.Web.Lists.GetByTitle(ListName);
CamlQuery cQuery = new CamlQuery();
cQuery.ViewXml = "@<View><RowLimit>10</RowLimit></View>";
ListItemCollection ListCollection = oList.GetItems(cQuery);
SP_List.Load(ListCollection);
SP_List.ExecuteQuery();
for (int i = 0; i < ColumnName.Length; i++)
DT.Columns.Add(ColumnName[i], System.Type.GetType("System.String"));
for (int i = 0; i < LookUp.Length; i++)
DT.Columns.Add(LookUp[i], System.Type.GetType("System.String"));
foreach (ListItem value in ListCollection)
{
DataRow dr = DT.NewRow();
for (int i = 0; i < ColumnName.Length; i++)
dr[ColumnName[i]] = value[ColumnName[i]].ToString();
for (int i = 0; i < LookUp.Length; i++)
dr[LookUp[i]] = (((Microsoft.SharePoint.Client.FieldUserValue)value[LookUp[i]])?.LookupValue).ToString();
DT.Rows.Add(dr);
这是当前代码,我必须获取所需的值。我还试图在此数据表中添加“ Item URl”,帮助我获取并将值添加到数据表中。
答案 0 :(得分:0)
如果我对您的理解正确,那么您想要的只是列表项的网址?您可以通过访问ServerRelativeUrl
SP.ListItem.File.ServerRelativeUrl
即
ctx.load(listItem.File)
ctx.executequery()
console.log(listITem.File.ServerRelativeUrl)
(对不起,我是用jsom而不是csom编写的,但是代码几乎一样)
对于您要执行的操作,您的代码看起来过于复杂。我可能会考虑简化它。