Получение ссылки на элемент списка в SharePoint Javascript COM

Работая с клиентской объектной моделью SharePoint через Javascript, у меня появилась необходимость получить ссылку на элемент списка. Причем если список является библиотекой, то всё просто — нужно получить поле FileRef — оно и хранит ссылку на файл библиотеки документов.

Со списком немного сложней, но есть поле FileDirRef, хранящее путь до списка, например, http://site/Lists/BrandCentralNews. Значит можно добавить название страницы отображения с идентификатором, вот так: http://site/Lists/BrandCentralNews/Dispform.aspx?ID=3.

Ниже основные участки кода:

    //Указываем какие поля получить из списка в CAML-запросе
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml("<View><ViewFields> \
	    <FieldRef Name='ID'></FieldRef> \
	    <FieldRef Name='FileDirRef'></FieldRef> \
	    <FieldRef Name='Title'></FieldRef> \
    </ViewFields> \
    <Query><OrderBy><FieldRef Name='Modified' Ascending='False' /></OrderBy></Query><RowLimit>100</RowLimit></View>");
    
    this.collListItem = oList.getItems(camlQuery);

    ...

    var oListItem = listItemEnumerator.get_current();
    var url = oListItem.get_item('FileDirRef') + "/Dispform.aspx?ID=" + oListItem.get_item('ID');

Кажется, что ссылка должна храниться в поле LinkTitle, но нет, видимо поле формируется в runtime, а не хранится в БД SharePoint.

Запись опубликована в рубрике SharePoint. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>