使用List <list <>&gt;时打印属性名称使用C#

时间:2016-04-08 08:39:12

标签: c# asp.net

对于某些原材料(例如铜,铝,油,碳等),我将它们分为不同的类型(金属,油)。

    var metals = new List<RawMaterial> { rMat, rMat2 };
    var oil = new List<RawMaterial> {rMat3, rMat4};

    var allMetals = new List<List<RawMaterial>> {metals, oil};

    repOuterMetalGroup.DataSource = allMetals;
    repOuterMetalGroup.DataBind();

<asp:Repeater runat="server" ID="repOuterMetalGroup" OnItemDataBound="repOuterMetalGroup_OnItemDataBound">
                    <ItemTemplate>
                      <asp:Label runat="server" ID="lblMetalName"></asp:Label>
                  </ItemTemplate>
                </asp:Repeater>

protected void repOuterMetalGroup_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
    var lblMetalName = (Label)e.Item.FindControl("lblMetalName");

    lblMetalName.Text = e.Item.DataItem.ToString();

}

对于标签lblMetalName,我想展示metailsoil但我正在关注第二行System.Collections.Generic.List 1`

我认为首先打印groupName即(金属,油),然后在转发器内使用另一个转发器来显示有关材料的详细信息。但我陷入了第一点。请建议!! 以下是类RawMaterial的代码:

   public class RawMaterial
   {
       public string Name;
       public string Source;
       public string Unit;
       public DateTime Date;
       public decimal Value;

   }

1 个答案:

答案 0 :(得分:0)

您应该使用字典代替:

var allMetals = new Dictionary<<string>, List<RawMaterial>> {
    {"Metals", metals}
    {"Oil", oil}
};

现在你可以得到这些名字。