DataList.HeaderTemplate 属性
定义
public:
virtual property System::Web::UI::ITemplate ^ HeaderTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.DataListItem))]
public virtual System.Web.UI.ITemplate HeaderTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.DataListItem))>]
member this.HeaderTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property HeaderTemplate As ITemplate
属性值
一个 ITemplate,它包含 DataList 控件的标题部分的模板。A ITemplate that contains the template for the heading section of the DataList control. 默认值是 null。The default value is null.
- 属性
示例
下面的代码示例演示如何使用 HeaderTemplate 属性控制控件的标题部分的内容 DataList 。The following code example demonstrates how to use the HeaderTemplate property to control the contents of the heading section of the DataList control.
备注
下面的代码示例使用单文件代码模型,如果直接复制到代码隐藏文件中,则可能无法正常工作。The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. 必须将此代码示例复制到扩展名为 .aspx 的空文本文件中。This code sample must be copied into an empty text file that has an .aspx extension. 有关 Web 窗体代码模型的详细信息,请参阅 ASP.NET Web 窗体页代码模型。For more information on the Web Forms code model, see ASP.NET Web Forms Page Code Model.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!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" >
<script runat="server">
ICollection CreateDataSource()
{
// Create sample data for the DataList control.
DataTable dt = new DataTable();
DataRow dr;
// Define the columns of the table.
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
dt.Columns.Add(new DataColumn("ImageValue", typeof(String)));
// Populate the table with sample values.
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Description for item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dr[3] = "Image" + i.ToString() + ".jpg";
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
// Load sample data only once, when the page is first loaded.
if (!IsPostBack)
{
ItemsList.DataSource = CreateDataSource();
ItemsList.DataBind();
}
}
void Button_Click(Object sender, EventArgs e)
{
// Set the repeat direction based on the selected value of the
// DirectionList DropDownList control.
ItemsList.RepeatDirection =
(RepeatDirection)DirectionList.SelectedIndex;
// Set the repeat layout based on the selected value of the
// LayoutList DropDownList control.
ItemsList.RepeatLayout = (RepeatLayout)LayoutList.SelectedIndex;
// Set the number of columns to display based on the selected
// value of the ColumnsList DropDownList control.
ItemsList.RepeatColumns = ColumnsList.SelectedIndex;
// Show or hide the gridlines based on the value of the
// ShowBorderCheckBox property. Note that gridlines are displayed
// only if the RepeatLayout property is set to Table.
if ((ShowBorderCheckBox.Checked)
&& (ItemsList.RepeatLayout == RepeatLayout.Table))
{
ItemsList.BorderWidth = Unit.Pixel(1);
ItemsList.GridLines = GridLines.Both;
}
else
{
ItemsList.BorderWidth = Unit.Pixel(0);
ItemsList.GridLines = GridLines.None;
}
}
</script>
<head runat="server">
<title>DataList Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataList Example</h3>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="0"
BorderWidth="0"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
List of items
</HeaderTemplate>
<ItemTemplate>
Description: <br />
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br />
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
<br />
<asp:Image id="ProductImage"
AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
</asp:DataList>
<hr />
<table cellpadding="5">
<tr>
<th>
Repeat direction:
</th>
<th>
Repeat layout:
</th>
<th>
Repeat columns:
</th>
<th>
<asp:CheckBox id="ShowBorderCheckBox"
Text="Show border"
Checked="False"
runat="server" />
</th>
</tr>
<tr>
<td>
<asp:DropDownList id="DirectionList"
runat="server">
<asp:ListItem>Horizontal</asp:ListItem>
<asp:ListItem Selected="True">Vertical</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="LayoutList"
runat="server">
<asp:ListItem Selected="True">Table</asp:ListItem>
<asp:ListItem>Flow</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="ColumnsList"
runat="server">
<asp:ListItem Selected="True">0</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
</asp:DropDownList>
</td>
<td>
</td>
</tr>
</table>
<asp:LinkButton id="RefreshButton"
Text="Refresh DataList"
OnClick="Button_Click"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!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" >
<script runat="server">
Function CreateDataSource() As ICollection
' Create sample data for the DataList control.
Dim dt As DataTable = New DataTable()
dim dr As DataRow
' Define the columns of the table.
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
dt.Columns.Add(New DataColumn("ImageValue", GetType(String)))
' Populate the table with sample values.
Dim i As Integer
For i = 0 To 8
dr = dt.NewRow()
dr(0) = i
dr(1) = "Description for item " & i.ToString()
dr(2) = 1.23 * (i + 1)
dr(3) = "Image" & i.ToString() & ".jpg"
dt.Rows.Add(dr)
Next i
Dim dv As DataView = New DataView(dt)
Return dv
End Function
Sub Page_Load(sender As Object, e As EventArgs)
' Load sample data only once, when the page is first loaded.
If Not IsPostBack Then
ItemsList.DataSource = CreateDataSource()
ItemsList.DataBind()
End If
End Sub
Sub Button_Click(sender As Object, e As EventArgs)
' Set the repeat direction based on the selected value of the
' DirectionList DropDownList control.
ItemsList.RepeatDirection = _
CType(DirectionList.SelectedIndex, RepeatDirection)
' Set the repeat layout based on the selected value of the
' LayoutList DropDownList control.
ItemsList.RepeatLayout = CType(LayoutList.SelectedIndex, RepeatLayout)
' Set the number of columns to display based on the selected
' value of the ColumnsList DropDownList control.
ItemsList.RepeatColumns = ColumnsList.SelectedIndex
' Show or hide the gridlines based on the value of the
' ShowBorderCheckBox. Note that gridlines are displayed
' only if the RepeatLayout property is set to Table.
If ShowBorderCheckBox.Checked _
And ItemsList.RepeatLayout = RepeatLayout.Table Then
ItemsList.BorderWidth = Unit.Pixel(1)
ItemsList.GridLines = GridLines.Both
Else
ItemsList.BorderWidth = Unit.Pixel(0)
ItemsList.GridLines = GridLines.None
End If
End Sub
</script>
<head runat="server">
<title>DataList Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataList Example</h3>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="0"
BorderWidth="0"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
List of items
</HeaderTemplate>
<ItemTemplate>
Description: <br />
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br />
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
<br />
<asp:Image id="ProductImage"
AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
</asp:DataList>
<hr />
<table cellpadding="5">
<tr>
<th>
Repeat direction:
</th>
<th>
Repeat layout:
</th>
<th>
Repeat columns:
</th>
<th>
<asp:CheckBox id="ShowBorderCheckBox"
Text="Show border"
Checked="False"
runat="server" />
</th>
</tr>
<tr>
<td>
<asp:DropDownList id="DirectionList"
runat="server">
<asp:ListItem>Horizontal</asp:ListItem>
<asp:ListItem Selected="True">Vertical</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="LayoutList"
runat="server">
<asp:ListItem Selected="True">Table</asp:ListItem>
<asp:ListItem>Flow</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="ColumnsList"
runat="server">
<asp:ListItem Selected="True">0</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
</asp:DropDownList>
</td>
<td>
</td>
</tr>
</table>
<asp:LinkButton id="RefreshButton"
Text="Refresh DataList"
OnClick="Button_Click"
runat="server"/>
</form>
</body>
</html>
注解
使用 HeaderTemplate 属性控制标题部分的内容。Use the HeaderTemplate property to control the contents of the heading section. 标头部分的外观由 HeaderStyle 属性控制。The appearance of the header section is controlled by the HeaderStyle property.
备注
ShowHeader属性必须设置为, true 此属性才可见。The ShowHeader property must be set to true for this property to be visible.
若要为标题部分指定模板,请将标记放在 <HeaderTemplate> 控件的开始和结束标记之间 DataList 。To specify a template for the heading section, place the <HeaderTemplate> tags between the opening and closing tags of the DataList control. 然后,你可以在开始标记和结束标记之间列出模板的内容 <HeaderTemplate> 。You can then list the contents of the template between the opening and closing <HeaderTemplate> tags.
注意
此控件可用于显示用户输入,其中可能包括恶意客户端脚本。This control can be used to display user input, which might include malicious client script. 在应用程序中显示可执行脚本、SQL 语句或其他代码之前,请检查从该客户端发送的任何信息。Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. 您可以使用验证控件在显示控件中的输入文本之前验证用户输入。You can use validation controls to verify user input before displaying the input text in a control. ASP.NET 提供输入请求验证功能来阻止用户输入中的脚本和 HTML。ASP.NET provides an input request validation feature to block script and HTML in user input. 有关详细信息,请参阅 保护标准控件, 如何:通过将 HTML 编码应用到字符串,并 在 ASP.NET 网页验证用户输入来防范 Web 应用程序中的脚本攻击。For more information, see Securing Standard Controls, How to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings, and Validating User Input in ASP.NET Web Pages.
适用于
另请参阅
- HeaderStyle
- ITemplate
- 保护标准控件Securing Standard Controls
- 如何:通过将 HTML 编码应用于字符串来防范 Web 应用程序中的脚本攻击How to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings
- ASP.NET 网页中的用户输入验证简介简介Introduction to Validating User Input in ASP.NET Web Pages
- ASP.NET 网页代码模型ASP.NET Web Page Code Model