AlternatingItemTemplate用於定義交替項呈現的內容和布局。所謂的交替項方式,就是在Repeater控制項和DataList控制項中允許奇偶項以不同的內容和布局形式顯示資料,其中奇數行由AlternatingItemTemplate模板定義(索引號從1開始),偶數行由ItemTemplate模板定義(引號從0開始)。若僅定義了ItemTemplate模板而未定義AlternatingItemTemplate模板,則所有行全部按ItemTemplate模板指定的資料與布局形式顯示。若僅定義了AlternatingItemTemplate模板而未定義ItemTemplate模板,則僅顯示AlternatingItemTemplate模板指定的資料與布局形式的奇數行,偶數行不會顯示。若這兩種項目範本都未定義,則什麼資料都不會顯示,那是沒有意義的。
AlternatingItemTemplate模板的HTML標記為:
<AlternatingItemTemplate>
<%--該模板內顯示的內容與布局--%>
</AlternatingItemTemplate>
因為AlternatingItemTemplate模板內含資料項目,所以Repeater控制項使用該模板時,也必須進行資料繫結,綁定方式同ItemTemplate模板。
為了說明AlternatingItemTemplate模板的使用方法和使用的效果,在上例中加進一個AlternatingItemTemplate模板,其頁面的HTML視圖變為下面的形式。
<form id="Form1" method="post" runat="server">
<% ="品名 產地 單價"%> <%--顯示Repeater控制項的頭部--%>
<asp:repeater id="Repeater1" runat="server">
<AlternatingItemTemplate>
<font face="黑體" color="#ff0000">
<p>
<b><%#DataBinder.Eval(Container.DataItem,"商品名稱")%></b>
<b><%#DataBinder.Eval(Container.DataItem,"產地")%></b>
<b><%#DataBinder.Eval(Container.DataItem,"單價")%></b>
</p>
</font>
</AlternatingItemTemplate>
<ItemTemplate>
<font face="宋體" color="#0000ff">
<p>
<%#DataBinder.Eval(Container.DataItem,"商品名稱")%>
<%#DataBinder.Eval(Container.DataItem,"產地")%>
<%#DataBinder.Eval(Container.DataItem,"單價")%>
</p>
</font>
</ItemTemplate>
</asp:repeater>
</form>
在< asp:repeater >標籤內增加了一個<AlternatingItemTemplate>標籤,它是交替項標籤。交替項目範本所指定的資料項目與項目範本所指定的資料項目相同,它們顯示同樣的欄位資料,不過顯示的文本的字型與顏色是不同的。
不需要修改任何後台代碼,按Ctrl+F5鍵運行程式,效果如。
AlternatingItemTemplate交替項目範本定義的是紅色的黑體粗字,而ItemTemplate模板定義的是藍色的宋體,使得頁面有了一些變化。