如何使用SharePoint Designer在自定义列表表单的显示表单中检索附件文件名

如何使用SharePoint Designer在自定义列表表单的显示表单中检索附件文件名,sharepoint,attachment,Sharepoint,Attachment,我已经创建了自定义列表并修改了列表的显示形式,以显示列表的附加图像。 我已经将HTML图像控件放置在显示表单上,但我无法获取可以分配给图像控件的附件URL路径。我尝试了一些硬代码级别,如: “名称/SiteName/Lists/ListName/Attachments/{@ID}/?” 我可以获取ID值,以便它可以工作,但最后一件事是文件名,我无法获取附加的文件名。 我是否需要编写代码来获取路径?如果是,那么我必须继承哪个事件此解决方案需要未记录的魔法 …穿上长袍,戴上巫师帽 在您的表格中,使用

我已经创建了自定义列表并修改了列表的显示形式,以显示列表的附加图像。
我已经将HTML图像控件放置在显示表单上,但我无法获取可以分配给图像控件的附件URL路径。我尝试了一些硬代码级别,如:

“名称/SiteName/Lists/ListName/Attachments/{@ID}/

我可以获取ID值,以便它可以工作,但最后一件事是文件名,我无法获取附加的文件名。

我是否需要编写代码来获取路径?如果是,那么我必须继承哪个事件

此解决方案需要未记录的魔法

…穿上长袍,戴上巫师帽

在您的表格中,使用@标题和以下内容:

<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更改为“Edit”,它显示了删除选项。

稍作解释,列表项返回的@Attachments属性仅表示列表项有一个或多个附件,实际列表是不同的查询,幸运的是,所有的麻烦都由FormField控件处理。此解决方案输出整个链接html。我只需要附件文件名。或者,如何控制SharePoint:FormField标记的输出?这需要一种更复杂的方法来覆盖控件呈现,请参阅