使用c#为termstore值返回额外字符,从sharepoint列表中获取值

时间:2014-01-07 02:22:22

标签: c# sharepoint

您好我使用spquery在sharepoint 2010的列表中查找项目,并且大多数字段都正常工作,但某些字段在字符串后面返回额外的值。例如

  

昌运| a1150311-39dd-4112-897e-6b2c96ea9fa5

它似乎只是termset值,如何正确地将它们转换为文本?

SPListItemCollection items = list.GetItems(query);
if (items != null)
{
     SPListItem item = items[0];
     ServiceProvider.Text = item["ServiceProvider"].ToString();
     Structures.Text = item["Structures"].ToString();
}

1 个答案:

答案 0 :(得分:1)

最有可能的原因是ToString您所获得的“归档值”类型并未返回您想要的内容。

您应该找到此字段的类型并获取结果值的正确属性。要查找类型 - 请查看item["Structures"]的类型。

即。对于网址字段(SPFieldUrlValue),您可以使用Url属性而不是ToString

 var url = ((SPFieldUrlValue)item["SomeUrlFieldName"]).Url