可以使用数组数组作为数据源(但不是二维数组),但是您必须以相反的方式排列它,以便每个内部数组都包含一个名称和一个数字。
不过,我更喜欢一种面向对象的方法,它提供了更多的结构,并且转发器代码变得更清晰:
为月份信息创建一个类:
public class MonthInfo {
public string Name { get; private set; }
public string Number { get; private set; }
public MonthInfo(string name, string number) {
Name = name;
Number = number;
}
}
现在您可以创建一个对象数组以用作转发器的数据源:
MonthInfo[] months = {
new MonthInfo("Januari", "01"),
new MonthInfo("Februari", "02"),
new MonthInfo("Mars", "03"),
new MonthInfo("April", "04"), // inte "Apri" ;)
new MonthInfo("Maj", "05"),
new MonthInfo("Juni", "06"),
new MonthInfo("Juli", "07"),
new MonthInfo("Augusti", "08"), // inte "Agusti" ;)
new MonthInfo("September", "09"),
new MonthInfo("Oktober", "10"), // kommer före november ;)
new MonthInfo("November", "11"),
new MonthInfo("December", "12")
};
MonthRepeater.DataSource = months;
在中继器中,您使用月份信息类的属性:
<asp:Repeater runat="server" id="MonthRepeater">
<ItemTemplate>
<a href="Default.aspx?m=<%#Eval("Number")>"%><%#Eval("Name")%></a>
</ItemTemplate>
</asp:Repeater">