列表项表单页

上次修改时间: 2010年4月9日

适用范围: SharePoint Foundation 2010

本文内容
列表项表单和母版页
显示表单呈现
指定用于创建或修改列表的自定义页

多数 Microsoft SharePoint Foundation 列表的列表项表单页(DisplayForm.aspx、EditForm.aspx 和 NewForm.aspx)都基于同一 Form.aspx 文件(位于 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\Pages 中)。此文件可实现位于 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\GLOBAL 中的 SharePoint Foundationdefault.master 文件。

默认情况下,为获得更好的可伸缩性,列表表单页在非编译模式下运行。除非可通过用户界面启用允许在页上显示代码功能,否则 SharePoint Foundation 不允许在表单页上显示代码。

列表项表单和母版页

默认列表表单页是根据默认母版页设计的,页面上的一个占位符表示控件的一个区域。列表表单页可包含工具栏、页眉、正文和页脚的占位符。各个特定表单页决定要在那些占位符中使用哪些控件,这需要具有其嵌套(派生)母版页的总体母版页设计。

母版页定义列表项表单上显示的边框和导航区域。有关 SharePoint Foundation 中的母版页的信息,请参阅母版页

Form.aspx 文件包含一个 Microsoft.SharePoint.WebPartPages.WebPartZone 控件(可在页面的正文中插入 ListFormWebPart 对象)。若要显示该页面的内容,此 Web 部件应实例化一个 ListForm 控件,该控件的模板在 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx 中定义。ListForm 控件包含用于布局工具栏、字段和表单的其他部分的 HTML 标记和控件模板。您可以通过 ListFormWebPart 类的模板属性指定一个自定义 ListForm 控件。

重要注释重要信息

不支持编辑 SharePoint Foundation 在前端 Web 服务器上安装的文件。当您安装 SharePoint Foundation 的更新或 Service Pack,或将某安装升级到下一个产品版本时,可能会覆盖对原始安装文件所做的更改。

显示表单呈现

SharePoint Foundation 显示表单的呈现与编辑和新建表单稍有不同,因为尽管显示表单具有与编辑表单和新建表单相同的布局,并且共享大多数控件,但是显示表单字段是在非托管代码中定义的,并且具有在列表视图中使用的字段呈现。在显示模式下,SharePoint 字段控件使用协作应用程序标记语言核心架构 定义来呈现这些字段。

重要注释重要信息

尽管可以将 Web 部件添加到列表项的"显示"、"编辑"和"新建"表单(DispForm.aspx、EditForm.aspx 和 NewForm.aspx),但不推荐也不支持在 SharePoint Foundation 中执行操作。支持将 Web 部件添加到列表视图页 (AllItems.aspx) 中。

指定用于创建或修改列表的自定义页

您可以指定用于创建列表或编辑列表属性的自定义页,方法是对列表定义功能的 ListTemplate 元素指定 NewPage 和 EditPage 属性。

下面的示例指定通过列表定义创建的列表的自定义页面。

<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <ListTemplate
    Name="MyTemplate"
    Type="2100"
    BaseType="1"
    OnQuickLaunch="TRUE"
    SecurityBits="11"
    DisplayName="My Custom List Type"
    NewPage="MyCreateList.aspx"
    EditPage="MyEditList.aspx"
    Description="My description..."
    Image="/_layouts/images/itsl.gif"
    DocumentTemplate="100">
  </ListTemplate>
</Elements>