服务器控件内联模板语法
[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]
指定在支持模板的 ASP.NET 服务器控件中将包括的内容及其排列和样式化方式。
<templatename>
Server control, data-binding syntax, other valid markup
</templatename>
标记
- templatename
ASP.NET 服务器控件模板的名称。
备注
可以使用模板来结构化和样式化 ASP.NET 服务器控件中出现的内容。 内联模板语法是处理模板的一种有用方法,因为该语法使您能够以简单的声明语法而不是以编程方式在控件中设计内容的排列和样式。
许多 ASP.NET Web 服务器控件支持模板(例如,Repeater、DataList、GridView、FormView、MultiView、LoginView 和 Menu 控件都支持模板,包括 WebPartZone 和 CatalogZone 在内的 Web 部件区域控件也支持模板)。 请注意,只能为控件声明专门为该控件定义的模板。
模板项必须作为支持它们的服务器控件的子元素进行声明。 一个服务器控件可以包含多个模板项,其中每个模板用于指定控件中不同内容的特点。 例如,Repeater 控件支持用于指定标题部分、正文或项部分以及脚注部分中内容的布局和外观的模板,还支持用于处理交替项及项之间分隔符的样式的特殊模板。 有关详细信息,请参见本主题中的代码示例。
若要指定如何在模板中显示这些内容,请在模板标记中声明其他元素。 其他标记可以包括 HTML 标记、ASP.NET 控件以及内联服务器端表达式或代码块。 有关如何使用内联模板的更多信息,请参见 ASP.NET Web Server Controls Templates。
开发自定义服务器控件时可以定义自己的模板。 有关开发定义和使用内联样式模板的控件的更多信息,请参见How to: Create Templated ASP.NET User Controls。
示例
下面的代码示例演示如何在 Repeater Web 服务器控件中声明 HeaderTemplate、AlternatingItemTemplate、ItemTemplate 和 FooterTemplate 模板。 这些模板中的每一个与 Repeater 类的一个属性关联。
<%@ Page Language="C#" %>
<html>
<head>
<script language="C#" runat="server">
void Page_Load(Object Sender, EventArgs e) {
if (!IsPostBack) {
ArrayList values = new ArrayList();
values.Add("Apple");
values.Add("Orange");
values.Add("Pear");
values.Add("Banana");
values.Add("Grape");
Repeater1.DataSource = values;
Repeater1.DataBind();
}
}
</script>
</head>
<body>
<h3><font face="Verdana">Repeater Example</font></h3>
<form runat=server>
<b>Repeater1:</b>
<p>
<asp:Repeater id=Repeater1 runat="server">
<HeaderTemplate>
<table border=1>
</HeaderTemplate>
<AlternatingItemTemplate>
<tr>
<td><b> <%# Container.DataItem %> </b> </td>
</tr>
</AlternatingItemTemplate>
<ItemTemplate>
<tr>
<td> <%# Container.DataItem %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<p>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<html>
<head>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, e As EventArgs)
If Not IsPostBack Then
Dim values As New ArrayList()
values.Add("Apple")
values.Add("Orange")
values.Add("Pear")
values.Add("Banana")
values.Add("Grape")
Repeater1.DataSource = values
Repeater1.DataBind()
End If
End Sub
</script>
</head>
<body>
<h3><font face="Verdana">Repeater Example</font></h3>
<form runat=server>
<b>Repeater1:</b>
<p>
<asp:Repeater id=Repeater1 runat="server">
<HeaderTemplate>
<table border=1>
</HeaderTemplate>
<AlternatingItemTemplate>
<tr>
<td><b> <%# Container.DataItem %> </b> </td>
</tr>
</AlternatingItemTemplate>
<ItemTemplate>
<tr>
<td> <%# Container.DataItem %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<p>
</form>
</body>
</html>
请参见
任务
How to: Create Templated ASP.NET User Controls