对于某些原材料(例如铜,铝,油,碳等),我将它们分为不同的类型(金属,油)。
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
,我想展示metails
和oil
但我正在关注第二行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;
}
答案 0 :(得分:0)
您应该使用字典代替:
var allMetals = new Dictionary<<string>, List<RawMaterial>> {
{"Metals", metals}
{"Oil", oil}
};
现在你可以得到这些名字。