可以,DataList1.DataSource = YourArrayList;
DataList1.DataBind();假如你的对象用公共属性的话,你可以这么做<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"公共属性") %>
</ItemTemplate>如果只有公开成员的话,你需要这么做<ItemTemplate>
<%# ((YourClass)Container.DataItem).公开成员 %>
</ItemTemplate>
DataList1.DataBind();假如你的对象用公共属性的话,你可以这么做<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"公共属性") %>
</ItemTemplate>如果只有公开成员的话,你需要这么做<ItemTemplate>
<%# ((YourClass)Container.DataItem).公开成员 %>
</ItemTemplate>
你也可以看petshop例子,上面的购物车模型就是那么实现的。
public class book
{
private string id;
private string name;
private string desc;
public book(string a,string b,string c)
{
id=a;
name=b;
desc=c;
}
public string ID
{
get{return id;}
}
public string Name
{
get{return name;}
}
public string Desc
{
get{return desc;}
}
}
页面加载
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
book a=new book("a","a","a");
book b=new book("b","b","b");
book c=new book("c","c","c");
SearchResultList = new ArrayList();
SearchResultList.Add(a);
SearchResultList.Add(b);
SearchResultList.Add(c);
}界面
<asp:DataList id="ResultsList" width="100%" Font-Size="12" runat="server" CellPadding="0" CellSpacing="0" RepeatLayout="Table" BorderStyle="None" BorderWidth="0px">
<ItemTemplate>
<table>
<tr>
<td width="200">
<asp:HyperLink id="ItemLink" NavigateURL='<%# "book.aspx?id=" + DataBinder.Eval(Container.DataItem,"ID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"Name") %>'>
</asp:HyperLink>
<br>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>可这样的话并没有显示出数据呀!!
这里如果加上DataSource="SearchResultList"会出错
{
// 在此处放置用户代码以初始化页面
book a=new book("a","a","a");
book b=new book("b","b","b");
book c=new book("c","c","c");
SearchResultList = new ArrayList();
SearchResultList.Add(a);
SearchResultList.Add(b);
SearchResultList.Add(c);ResultsList.DataSource = SearchResultList;
ResultsList.DataBind(); }