TemplateField 类

定义

表示在数据绑定控件中显示自定义内容的字段。

public ref class TemplateField : System::Web::UI::WebControls::DataControlField
public class TemplateField : System.Web.UI.WebControls.DataControlField
type TemplateField = class
    inherit DataControlField
Public Class TemplateField
Inherits DataControlField
继承
TemplateField

示例

下面的代码示例演示如何创建在同一单元格中显示两个字段的自定义 TemplateField 对象。 名字和姓氏字段组合到同一 TemplateField 对象中。


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TemplateField Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>TemplateField Example</h3>

      <!-- Populate the Columns collection declaratively. -->
      <!-- Create a custom TemplateField column that uses      -->
      <!-- two Label controls to display an author's first and -->
      <!-- last name in the same column.                       -->
      <asp:gridview id="AuthorsGridView" 
        datasourceid="AuthorsSqlDataSource" 
        autogeneratecolumns="False"
        runat="server">
                
        <columns>
                
          <asp:templatefield headertext="Author Name">
            <itemtemplate>
              <asp:label id="FirstNameLabel"
                Text= '<%# Eval("au_fname") %>'
                runat="server"/> 
              <asp:label id="LastNameLabel"
                Text= '<%# Eval("au_lname") %>'
                runat="server"/>
            </itemtemplate>
          </asp:templatefield>
                
        </columns>
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Pubs sample database.                        -->
      <asp:sqldatasource id="AuthorsSqlDataSource"  
        selectcommand="SELECT [au_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]"
        connectionstring="server=localhost;database=pubs;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TemplateField Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>TemplateField Example</h3>

      <!-- Populate the Columns collection declaratively. -->
      <!-- Create a custom TemplateField column that uses      -->
      <!-- two Label controls to display an author's first and -->
      <!-- last name in the same column.                       -->
      <asp:gridview id="AuthorsGridView" 
        datasourceid="AuthorsSqlDataSource" 
        autogeneratecolumns="False"
        runat="server">
                
        <columns>
                
          <asp:templatefield headertext="Author Name">
            <itemtemplate>
              <asp:label id="FirstNameLabel"
                text= '<%# Eval("au_fname") %>'
                runat="server"/> 
              <asp:label id="LastNameLabel"
                text= '<%# Eval("au_lname") %>'
                runat="server"/>
            </itemtemplate>
          </asp:templatefield>
                
        </columns>
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Pubs sample database.                        -->
      <asp:sqldatasource id="AuthorsSqlDataSource"  
        selectcommand="SELECT [au_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]"
        connectionstring="server=localhost;database=pubs;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

注解

TemplateField类由数据绑定控件 ((如 GridViewDetailsView) )用于显示每个显示的记录的自定义内容。 如果需要在数据绑定控件中显示内容,而其中一个预定义数据控件字段 ((如 BoundField) )未提供,请使用 TemplateField 类创建自定义用户界面 (UI) 。 对象的 TemplateField 显示方式不同,具体取决于使用该对象的数据绑定控件。 例如,控件将 GridView 对象显示为 TemplateField 列,控件 DetailsView 将其显示为行。

可以使用下表中列出的模板为对象的不同部分 TemplateField 定义自定义模板。

模板 说明
AlternatingItemTemplate 指定要为对象中的 TemplateField 交替项显示的内容。
EditItemTemplate 指定要在 对象中处于编辑模式 TemplateField 的项显示的内容。
FooterTemplate 指定要为对象的页脚部分 TemplateField 显示的内容。
HeaderTemplate 指定要为 对象的标头部分 TemplateField 显示的内容。
InsertItemTemplate 指定要在 对象中处于插入模式 TemplateField 的项显示的内容。 此模板仅受 DetailsView 控件支持。
ItemTemplate 指定要为对象中的 TemplateField 项显示的内容。

通过将 属性设置为 Visiblefalse,可以在数据绑定控件中隐藏TemplateField对象。

作为定义自定义HeaderTemplateFooterTemplate模板的替代方法,可以通过设置对象的其他属性TemplateField来自定义对象的页眉和页脚部分TemplateField。 若要在页眉或页脚部分显示描述文字,请分别设置 HeaderTextFooterText 属性。 可以通过设置 HeaderImageUrl 属性来显示图像,而不是在标题节中显示文本。 通过将 属性设置为 ShowHeaderfalse,可以在 对象中TemplateField隐藏标头节。

注意

某些数据绑定控件 ((例如 GridView 控件) )只能显示或隐藏控件的整个标头部分。 这些数据绑定控件不支持 ShowHeader 单个绑定字段的 属性。 若要显示或隐藏数据绑定控件的整个标头部分,请使用控件的属性 ShowHeader ((如果可用) )。

还可以通过为字段的不同 TemplateField 部分设置样式属性,自定义对象的外观 (字体颜色、背景色等) 。 下表列出了不同的样式属性。

Style 属性 说明
ControlStyle 对象的子 Web 服务器控件的 TemplateField 样式设置。
FooterStyle 对象的页脚部分的 TemplateField 样式设置。
HeaderStyle 对象的标头部分的 TemplateField 样式设置。
ItemStyle 对象中数据项的 TemplateField 样式设置。

构造函数

TemplateField()

初始化 TemplateField 类的新实例。

属性

AccessibleHeaderText

获取或设置某些控件中呈现为 AbbreviatedText 属性值的文本。

(继承自 DataControlField)
AlternatingItemTemplate

获取或设置用于显示 TemplateField 对象中交替项的模板。

Control

获取对数据控件的引用,该控件与 DataControlField 对象关联。

(继承自 DataControlField)
ControlStyle

获取 DataControlField 对象所包含的任何 Web 服务器控件的样式。

(继承自 DataControlField)
ConvertEmptyStringToNull

获取或设置一个值,该值指示在 TemplateField 对象绑定到的值为 Empty 时是否应将其转换为 null

DesignMode

获取一个值,该值指示数据控件字段当前是否在设计时环境中进行查看。

(继承自 DataControlField)
EditItemTemplate

获取或设置模板,该模板用于显示 TemplateField 对象中处于编辑模式中的项。

FooterStyle

获取或设置数据控件字段脚注的样式。

(继承自 DataControlField)
FooterTemplate

获取或设置用于显示 TemplateField 对象的脚注部分的模板。

FooterText

获取或设置数据控件字段的脚注项中显示的文本。

(继承自 DataControlField)
HeaderImageUrl

获取或设置数据控件字段的标题项中显示的图像的 URL。

(继承自 DataControlField)
HeaderStyle

获取或设置数据控件字段标头的样式。

(继承自 DataControlField)
HeaderTemplate

获取或设置用于显示 TemplateField 对象的标头部分的模板。

HeaderText

获取或设置数据控件字段的标题项中显示的文本。

(继承自 DataControlField)
InsertItemTemplate

获取或设置模板,该模板用于显示 TemplateField 对象中处于插入模式中的项。

InsertVisible

获取一个值,该值指示 DataControlField 对象在其父级数据绑定控件处于插入模式时是否可见。

(继承自 DataControlField)
IsTrackingViewState

获取一个值,该值指示 DataControlField 对象是否保存对其视图状态的更改。

(继承自 DataControlField)
ItemStyle

获取由数据控件字段显示的任何基于文本的内容的样式。

(继承自 DataControlField)
ItemTemplate

获取或设置用于显示数据绑定控件中的项的模板。

ShowHeader

获取或设置一个值,该值指示是否呈现数据控件字段的标题项。

(继承自 DataControlField)
SortExpression

获取或设置数据源控件用来对数据进行排序的排序表达式。

(继承自 DataControlField)
ValidateRequestMode

获取或设置一个值,该值指定该控件是否验证客户端输入。

ValidateRequestMode

获取或设置一个值,该值指定该控件是否验证客户端输入。

(继承自 DataControlField)
ViewState

获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原 DataControlField 对象的视图状态。

(继承自 DataControlField)
Visible

获取或设置指示是否呈现数据控件字段的值。

(继承自 DataControlField)

方法

CloneField()

创建当前 DataControlField 派生对象的副本。

(继承自 DataControlField)
CopyProperties(DataControlField)

将当前 TemplateField 派生对象的属性复制到指定的 DataControlField 对象。

CreateField()

创建一个新的 TemplateField 对象。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

从当前表单元格提取由一个或多个双向绑定语句 (DataBind) 指定的数据控件字段的值,并将这些值添加到指定的 IOrderedDictionary 集合。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Initialize(Boolean, Control)

为数据控件字段执行基础实例初始化。

(继承自 DataControlField)
InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

将文本或控件添加到单元格的控件集合中。

LoadViewState(Object)

将数据源视图还原为保存过的前一视图状态。

(继承自 DataControlField)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnFieldChanged()

引发 FieldChanged 事件。

(继承自 DataControlField)
SaveViewState()

保存在页回发到服务器后对 DataControlField 视图状态所做的更改。

(继承自 DataControlField)
ToString()

返回表示此 DataControlField 对象的字符串。

(继承自 DataControlField)
TrackViewState()

使 DataControlField 对象跟踪对其视图状态所做的更改,以便这些更改可以存储在控件的 ViewState 属性中并且能够在同一页的不同请求间得以保持。

(继承自 DataControlField)
ValidateSupportsCallback()

确定包含在 TemplateField 对象中的控件是否支持页面回调。

显式接口实现

IDataSourceViewSchemaAccessor.DataSourceViewSchema

获取或设置与此 DataControlField 对象关联的架构。

(继承自 DataControlField)
IStateManager.IsTrackingViewState

获取一个值,该值指示 DataControlField 对象是否保存对其视图状态的更改。

(继承自 DataControlField)
IStateManager.LoadViewState(Object)

将数据控件字段还原为保存过的前一视图状态。

(继承自 DataControlField)
IStateManager.SaveViewState()

保存在页回发到服务器后对 DataControlField 视图状态所做的更改。

(继承自 DataControlField)
IStateManager.TrackViewState()

使 DataControlField 对象跟踪对其视图状态所做的更改,以便这些更改可以存储在控件的 ViewState 属性中并且能够在同一页的不同请求间得以保持。

(继承自 DataControlField)

适用于

另请参阅