Получение URL для элемента, используя GetSiteData в Sharepoint - PullRequest
2 голосов
/ 17 ноября 2009

Я использую web.Site.MakeFullUrl((new SPFieldLookupValue(row["FileRef"] as string).LookupValue)) для получения URL-адреса результатов в запросе GetSiteData.

Для некоторых предметов это работает нормально, но для других я получаю результаты, такие как http://server/Lists/My%20Message%20Board/Test/9_.000 - что всегда 404 с. URL всегда заканчиваются на n_.0000.

Кто-нибудь знает, почему это происходит и как получить правильный URL?

Ответы [ 2 ]

1 голос
/ 18 ноября 2009

Элементы, генерирующие странный URL, не являются элементами в Библиотеке документов, у которых есть файл, связанный с фактическим SPListItem. «Нормальные» URL-адреса - это URL-адреса файлов в библиотеке документов, странные - это URL-адреса элементов в обычном списке. Просто проверьте тип элемента в webpart / control / xsl, чтобы отобразить результаты.

Если это элемент из обычного списка (со странным URL), просто замените его и сделайте так, чтобы URL выглядел так:

http://server/Lists/My%20Message%20Board/Test/9_.000 должно быть:

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

0 голосов
/ 28 января 2016

Советы выше, сделанные Колином, кажутся обоснованными, за исключением того факта, что «хороший» URL должен ссылаться на Dispform.aspx . Например,

URL,

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

Должен быть отформатирован так:

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

...