如何处理对象内的List对象?

时间:2013-02-26 15:56:42

标签: c# asp.net oop

我有一个班级:

public class Kit
{
    private int _CK_ID = 0;
    private String _CK_Title = "";
    private String _CK_Description = "";

    public int CK_ID
    {
        get { return _CK_ID; }
        set { _CK_ID = value; }
    }

    public String CK_Title
    {
        get { return _CK_Title; }
        set { _CK_Title = value; }
    }

    public String CK_Description
    {
        get { return _CK_Description; }
        set { _CK_Description = value; }
    }

}

每个套件都可以有一个图像列表。

将一个List<Images>放入课堂是否明智?

如果是,当我将List<Kit>绑定到Repeater以调用其他属性时,如何调用图像?例如,我使用<%# Eval("CK_Title")%>。如何循环所有图像?

2 个答案:

答案 0 :(得分:4)

我不确定我是否完全理解你,似乎直截了当:定义一个List并公开属性:

private List<SomeType> underlyingSomeList;

public List<SomeType> SomeList { get { return underlyingList; } }

至于访问条目,您可以将属性本身绑定到Repeater,并在ItemDataBound事件处理程序中使用var thing = e.Item.DataItem as SomeThing获取单个内容,然后使用{ {1}}获取对元素的访问权限并填充项目的数据。

答案 1 :(得分:4)

在转发器中嵌套另一个转发器,并在List事件上将ItemDataBound对象绑定到它。

转发器示例

<asp:repeater id="rep" runat="server">
   <itemtemplate>
      <h2><%# Eval("CK_Title")%></h2>
      <asp:repeater id="imagerep" runat="server">
         <itemtemplate>
             <img src="<%# Eval("URL")%>" />
         </itemtemplate>
      </asp:repeater>
   </itemtemplate>
</asp:repeater>