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模板定義的是藍色的宋體,使得頁面有了一些變化。