DataList.AlternatingItemTemplate 属性
定义
public:
virtual property System::Web::UI::ITemplate ^ AlternatingItemTemplate { 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 AlternatingItemTemplate { 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.AlternatingItemTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property AlternatingItemTemplate As ITemplate
属性值
一个 ITemplate 对象,该对象包含 DataList 控件中交替项的模板。A ITemplate object that contains the template for alternating items in the DataList control. 默认值是 null。The default value is null.
- 属性
示例
下面的代码示例演示如何使用 AlternatingItemTemplate 属性来控制控件中交替项的内容 DataList 。The following code example demonstrates how to use the AlternatingItemTemplate property to control the contents of alternating items in 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();
}
}
</script>
<head runat="server">
<title>DataList AlternatingItemTemplate Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataList AlternatingItemTemplate Example</h3>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="3"
ShowFooter="True"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<ItemStyle BackColor="Silver">
</ItemStyle>
<AlternatingItemStyle BackColor="DarkGray">
</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"
AlternateText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
<AlternatingItemTemplate>
<asp:Image id="ProductImage"
AlternateText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
<br />
Description: <br />
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br />
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
</AlternatingItemTemplate>
</asp:DataList>
</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
</script>
<head runat="server">
<title>DataList AlternatingItemTemplate Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataList AlternatingItemTemplate Example</h3>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="3"
ShowFooter="True"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<ItemStyle BackColor="Silver">
</ItemStyle>
<AlternatingItemStyle BackColor="DarkGray">
</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"
AlternateText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
<AlternatingItemTemplate>
<asp:Image id="ProductImage"
AlternateText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
<br />
Description: <br />
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br />
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
</AlternatingItemTemplate>
</asp:DataList>
</form>
</body>
</html>
注解
使用 AlternatingItemTemplate 属性可控制控件中交替项的内容 DataList 。Use the AlternatingItemTemplate property to control the contents of alternating items in the DataList control. 交替项的外观由 AlternatingItemStyle 属性控制。The appearance of alternating items is controlled by the AlternatingItemStyle property.
若要为替换项指定模板,请将标记放置在 <AlternatingItemTemplate> 控件的开始标记和结束标记之间 DataList 。To specify a template for the alternating items, place the <AlternatingItemTemplate> tags between the opening and closing tags of the DataList control. 然后,你可以在开始标记和结束标记之间列出模板的内容 <AlternatingItemTemplate> 。You can then list the contents of the template between the opening and closing <AlternatingItemTemplate> 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.
适用于
另请参阅
- AlternatingItemStyle
- ItemTemplate
- 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