症状
当 SharePoint Designer 生成自定义显示窗体时,将不会公开附件(如果存在)。 有关自定义列表表单的其他信息,请参阅以下链接:http://office.microsoft.com/en-us/sharepoint-designer-help/create-a-custom-list-form-using-sharepoint-designer-HA010378258.aspx框 ListFormWebPart 不会显示此行为。
原因
客户端缺少执行此工作所需的标记。
解决方案
若要解决此问题,用户可以创建代码片段,并根据需要通过 "代码" 视图插入标记。或者,用户只需将用于创建代码段的标记粘贴到自定义列表窗体中。以下标记可用于创建代码段:
<tr> <td nowrap="true" valign="top" class="ms-formlabel" width="20%"> <SharePoint:FieldLabel ControlMode="Display" FieldName="Attachments" runat="server"/> </td> <td valign="top" class="ms-formbody" width="80%"> <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="Display" FieldName="Attachments" __designer:bind=""/> </td></tr>
若要在 SharePoint Designer 2010 中创建代码段,请执行下列操作:1。 单击 SPD 2010.2 内的 "文件" 菜单。 然后单击 "选项",在 "常规" 选项卡上选择 "选择页面编辑器选项"。3。 切换到 "代码段" 选项卡。4。 单击 "添加" 按钮并为其指定一个名称,如 attachmentFix。 提供有关如何为代码段提供上下文的说明。6。 粘贴以下标记以自动执行为显示窗体添加附件功能的任务。
<tr> <td nowrap="true" valign="top" class="ms-formlabel" width="20%"> <SharePoint:FieldLabel ControlMode="Display" FieldName="Attachments" runat="server"/> </td> <td valign="top" class="ms-formbody" width="80%"> <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="Display" FieldName="Attachments" __designer:bind=""/> </td></tr>
7. 单击 "确定",然后单击 "确定"。8。 现在,使用自定义列表窗体时,它需要上述标记在代码视图中执行以下操作: Control + Enter。9。 这将弹出内置的代码段和创建的代码段。 选择 "attachmentFix",将插入所有标记。通过组策略或其他传递机制可进一步自动化此操作。 例如,Windows 7 使用以下路径存储自定义代码片段: C: \Users\UserName\AppData\Roaming\Microsoft\SharePoint Designer\SnippetsThe 以下文档介绍代码段的内部版本:http://msdn.microsoft.com/en-us/library/aa218645 (v =) .aspx # odc_fpcustomizingsnippets_tocreateacodesnippet文件 SnippetsCustom 在执行上述步骤后包含以下内容:
<?xml version="1.0"?><!-- Code Snippet Configuration File --><snippets><snippet keyword="attachmentFix"> <description>Custom display form attachment fix.</description> <text><tr> <td nowrap="true" valign="top" class="ms-formlabel" width="20%"> <SharePoint:FieldLabel ControlMode="Display" FieldName="Attachments" runat="server"/> </td> <td valign="top" class="ms-formbody" width="80%"> <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="Display" FieldName="Attachments" __designer:bind=""/> </td></tr></text> </snippet></snippets>
更多信息
"编辑" 和 "新建" 窗体不会出现此问题,具体取决于你的修补程序级别和产品版本。1。 安装适用于 SharePoint Designer 2007 和 WSS 3.0 的 Service Pack 2 后,附件功能将正常工作,以便进行编辑和进行新的表单。 旧表单将需要补充新功能。2。 使用 "编辑" 和 "新窗体" 时,SharePoint Designer 2010 和 SharePoint Foundation 可正常工作。3。 SharePoint Designer 2007 和 SharePoint Designer 2010 遇到显示窗体问题。