TemplateField 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示在数据绑定控件中显示自定义内容的字段。
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 对象中。
<%@ 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类由数据绑定控件 ((如 GridView 和 DetailsView) )用于显示每个显示的记录的自定义内容。 如果需要在数据绑定控件中显示内容,而其中一个预定义数据控件字段 ((如 BoundField) )未提供,请使用 TemplateField 类创建自定义用户界面 (UI) 。 对象的 TemplateField 显示方式不同,具体取决于使用该对象的数据绑定控件。 例如,控件将 GridView 对象显示为 TemplateField 列,控件 DetailsView 将其显示为行。
可以使用下表中列出的模板为对象的不同部分 TemplateField 定义自定义模板。
模板 | 说明 |
---|---|
AlternatingItemTemplate | 指定要为对象中的 TemplateField 交替项显示的内容。 |
EditItemTemplate | 指定要在 对象中处于编辑模式 TemplateField 的项显示的内容。 |
FooterTemplate | 指定要为对象的页脚部分 TemplateField 显示的内容。 |
HeaderTemplate | 指定要为 对象的标头部分 TemplateField 显示的内容。 |
InsertItemTemplate | 指定要在 对象中处于插入模式 TemplateField 的项显示的内容。 此模板仅受 DetailsView 控件支持。 |
ItemTemplate | 指定要为对象中的 TemplateField 项显示的内容。 |
通过将 属性设置为 Visiblefalse
,可以在数据绑定控件中隐藏TemplateField对象。
作为定义自定义HeaderTemplate或FooterTemplate模板的替代方法,可以通过设置对象的其他属性TemplateField来自定义对象的页眉和页脚部分TemplateField。 若要在页眉或页脚部分显示描述文字,请分别设置 HeaderText 或 FooterText 属性。 可以通过设置 HeaderImageUrl 属性来显示图像,而不是在标题节中显示文本。 通过将 属性设置为 ShowHeaderfalse
,可以在 对象中TemplateField隐藏标头节。
注意
某些数据绑定控件 ((例如 GridView 控件) )只能显示或隐藏控件的整个标头部分。 这些数据绑定控件不支持 ShowHeader 单个绑定字段的 属性。 若要显示或隐藏数据绑定控件的整个标头部分,请使用控件的属性 ShowHeader
((如果可用) )。
还可以通过为字段的不同 TemplateField 部分设置样式属性,自定义对象的外观 (字体颜色、背景色等) 。 下表列出了不同的样式属性。
Style 属性 | 说明 |
---|---|
ControlStyle | 对象的子 Web 服务器控件的 TemplateField 样式设置。 |
FooterStyle | 对象的页脚部分的 TemplateField 样式设置。 |
HeaderStyle | 对象的标头部分的 TemplateField 样式设置。 |
ItemStyle | 对象中数据项的 TemplateField 样式设置。 |
构造函数
TemplateField() |
初始化 TemplateField 类的新实例。 |
属性
AccessibleHeaderText |
获取或设置某些控件中呈现为 |
AlternatingItemTemplate |
获取或设置用于显示 TemplateField 对象中交替项的模板。 |
Control |
获取对数据控件的引用,该控件与 DataControlField 对象关联。 (继承自 DataControlField) |
ControlStyle |
获取 DataControlField 对象所包含的任何 Web 服务器控件的样式。 (继承自 DataControlField) |
ConvertEmptyStringToNull |
获取或设置一个值,该值指示在 TemplateField 对象绑定到的值为 Empty 时是否应将其转换为 |
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) |
方法
显式接口实现
IDataSourceViewSchemaAccessor.DataSourceViewSchema |
获取或设置与此 DataControlField 对象关联的架构。 (继承自 DataControlField) |
IStateManager.IsTrackingViewState |
获取一个值,该值指示 DataControlField 对象是否保存对其视图状态的更改。 (继承自 DataControlField) |
IStateManager.LoadViewState(Object) |
将数据控件字段还原为保存过的前一视图状态。 (继承自 DataControlField) |
IStateManager.SaveViewState() |
保存在页回发到服务器后对 DataControlField 视图状态所做的更改。 (继承自 DataControlField) |
IStateManager.TrackViewState() |
使 DataControlField 对象跟踪对其视图状态所做的更改,以便这些更改可以存储在控件的 ViewState 属性中并且能够在同一页的不同请求间得以保持。 (继承自 DataControlField) |