Подробное представление элемента списка по умолчанию Sharepoint - PullRequest
3 голосов
/ 03 декабря 2008

У меня есть веб-часть, которая отображает случайные элементы списка (из любого списка и типа списка) в указанном формате. Я хочу, чтобы элементы, отображаемые в веб-части, ссылались на подробные представления ListItem. Тем не менее, я не вижу в самом списке свойства, которое бы указывало мне, какое представление является представлением DETAIL по умолчанию для списка (т. Е. Деталь списка блогов - Post.aspx). Это происходит из определения списка? Как бы я получить эту информацию программно? Я пытаюсь избежать жесткого кодирования любой информации списка на основе типа списка.

1 Ответ

6 голосов
/ 03 декабря 2008

Посмотрите на SPList.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url.

Я думаю, это то, что вы ищете. Вам нужно будет добавить SPListItem.ID к строке запроса, чтобы он знал, какой элемент списка отображать.

using (SPWeb myWeb = GetMyWeb()) // GetMyWeb gets a reference to a SPWeb object
{
    SPList myList = GetMyList(myWeb); // GetMyList gets a reference to a SPList object
    SPListItem myItem = GetMyListItem(myList); // GetMyListItem gets a reference to a SPListItem object
    string url = String.Format("{0}/{1}?ID={2}",
        myWeb.Url,
        myList.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url, 
        myItem.ID);
}

Рекомендуется также добавить &Source=/url/to/current/page к строке запроса, чтобы пользователи перенаправлялись обратно на страницу, которую они оставили, когда они нажимают кнопки «Отмена / Закрыть» в формах редактирования или отображения.

...