在某個組件的DataSource裡直接綁定普通一維數,很久以前就遇到過了,綁上去不提示出錯,表示可以直接綁定一維數組,但是怎麼設定引值的引用,一直找不到,也問了不少人,baidu也查了好幾遍都沒什麼答案,都是說轉成table或是貼出一大篇天書般的代碼,看著頭就暈。今天作系統時再次遇到,在SDK裡不死心的翻了一下,發現在SDK裡居然有現成的ArryList綁定代碼案例。(猛拍腦袋中...)
以下是相關代碼:
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script 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");
// Set the DataSource of the Repeater.
Repeater1.DataSource = values;
Repeater1.DataBind();
}
}
</script>
</head>
<body>
<h3>Repeater Example</h3>
<form runat=server>
<b>Repeater1:</b>
<p>
<asp:Repeater id=Repeater1 runat="server">
<HeaderTemplate>
<table border=1>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# Container.DataItem %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<p>
</form>
</body>
代碼很簡單,應該達不到天書的程度,引用一維的值也就是<%# Container.DataItem %>。文章案例是ArrayList,直接使用string[]之類的普通數組也是可行的。
問題解決,特此記錄一下。如果能收錄到baidu的話,應該能幫到不少人。
以上代碼詳細可以參看Microsoft .NET Framework SDK v2.0的Repeater.DataSource 屬性的詳細說明。
連結是:
ms-help://MS.NETFramework.v20.chs/cpref16/html/P_System_Web_UI_WebControls_Repeater_DataSource.htm
完畢。