在Sharepoint中使用GetSiteData获取项目的URL

时间:2009-11-17 09:02:39

标签: sharepoint url spsitedataquery

我正在使用web.Site.MakeFullUrl((new SPFieldLookupValue(row["FileRef"] as string).LookupValue))获取GetSiteData查询中的结果的URL。

对于某些项目,这种方法很好,但对于其他项目,我得到的结果如下 http://server/Lists/My%20Message%20Board/Test/9_.000 - 总是404s。网址总是在n_.0000结束。

有人知道为什么会发生这种情况以及如何获取正确的网址吗?

2 个答案:

答案 0 :(得分:1)

生成奇怪网址的项目不是文档库中具有与实际SPListItem关联的文件的项目。 “普通”网址是doc lib中文件的网址,奇怪的网址是常规列表中项目的网址。只需检查webpart / control / xsl中的项目类型即可呈现结果。

如果它是常规列表中的项目(使用奇怪的URL),只需替换它并使网址看起来像这样:

http://server/Lists/My%20Message%20Board/Test/9_.000应该是:

http://server/Lists/My%20Message%20Board/Test/AllItems.aspx?ID=ITEMID

答案 1 :(得分:0)

Colin上面的建议看似合理,除了“好”的网址应该引用 Dispform.aspx 这一事实。例如,

网址

http://server/Lists/My%20List/2%5F.000

应格式如下:

http://server/Lists/My%20List/Dispform.aspx?ID=2