配列の配列をデータソースとして使用することは可能ですが(2次元配列は使用できません)、各内部配列に名前と番号が含まれるように、逆に配置する必要があります。
私はもっとOOPアプローチを好みますが、それはもう少し構造を与え、リピーターコードはずっときれいになります:
月情報のクラスを作成します。
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">