Как получить имя файла вложения в форме отображения пользовательской формы списка с помощью SharePoint Designer

Я создал собственный список и изменил форму отображения списка для отображения вложенного изображения списка.
Я поместил элемент управления изображением HTML в форму отображения, но не могу получить путь URL-адреса вложения, который я могу назначить элементу управления изображением. Я попытался использовать жесткий код на каком-то уровне, например:

«http://Server Name/SiteName/Lists/ListName/Attachments/{@ID}/???< /сильный>”

Я могу получить значение идентификатора, так что это может работать, но последнее имя файла, я не могу получить имя прикрепленного файла.
Нужно ли мне писать код, чтобы получить путь? Если да, то какое событие я должен унаследовать


person kisin    schedule 09.12.2009    source источник


Ответы (1)


Это решение требует недокументированной магии.

...надевает мантию и шляпу волшебника

Внутри вашей таблицы с @Title и т. д.:

<tr>
    <td width="190px" valign="top" class="ms-formlabel">
        <H3 class="ms-standardheader">
            <nobr>Attachments</nobr>
        </H3>
    </td>
    <td width="400px" valign="top" class="ms-formbody">
      <SharePoint:FormField runat="server" id="attachmentsField" ControlMode="Display" FieldName="Attachments" />
    </td>
</tr>

Вы можете изменить атрибут ControlMode на "Редактировать", он показывает опцию Удалить.

person Francisco Aquino    schedule 09.12.2009
comment
Небольшое пояснение: атрибут @Attachments, возвращаемый элементами списка, говорит только о том, что элемент списка имеет одно или несколько вложений, фактический список представляет собой другой запрос, к счастью, все хлопоты обрабатываются элементом управления FormField. - person Francisco Aquino; 09.12.2009
comment
это решение выводит всю ссылку html. я просто хочу имя файла вложения. или как я могу контролировать вывод тега SharePoint:FormField? - person kisin; 10.12.2009
comment
Это требует гораздо более сложного переопределения в отрисовке элемента управления, см. msdn.microsoft.com/en-us/library/ - person Francisco Aquino; 10.12.2009