using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections.Generic; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Dictionary<string, A> d = new Dictionary<string, A>(); d.Add("aa", new A("1", "xx")); d.Add("bb", new A("2", "yy")); d.Add("cc", new A("3", "zz")); DataList1.DataSource = d; DataList1.DataBind(); } } } public class A { private string m_PKID; private string m_Type; public string PKID { get { return m_PKID; } set { m_PKID = value; } } public string Type { get { return m_Type; } set { m_Type = value; } } public A() { } public A(string pkid, string type) { this.m_PKID = pkid; this.m_Type = type; } } <asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_ItemDataBound"> <ItemTemplate> <%#( (System.Collections.Generic.KeyValuePair<string, A>)(Container.DataItem)).Key %> <%#( ((System.Collections.Generic.KeyValuePair<string, A>)(Container.DataItem)).Value as A).PKID %> <%#( ((System.Collections.Generic.KeyValuePair<string, A>)(Container.DataItem)).Value as A).Type %> </ItemTemplate> </asp:DataList> (本文转载至:http://blog.csdn.net/amandag/archive/2008/07/05/2613328.aspx#)