我在下面有这个课程,并且能够用数据填充它。 DelMaster和DelDetails有相关数据。 不担心数据
public class Deliverables
{
public DeliverablesMaster DelMaster { get; set; }
public List<DeliverablesDetails> DelDetails { get; set; }
}
以下是主人的属性。我只会显示两个字段
public class DeliverablesMaster
{
public string ProjectDeliverablesId { get; set; }
public string ProjectId { get; set; }
public string DeliverableCategory { get; set; }
public string DeliverableText { get; set; }
public string DeliverableOrder { get; set; }
public string UpsizeTs { get; set; }
}
以下是详细信息/子项的属性,并将在一行中显示所有字段
public class DeliverablesDetails
{
public string ProjectDelivStatusId { get; set; }
public string ProjectDeliverableSID { get; set; }
public string PDSText { get; set; }
public string PDSCurrency { get; set; }
}
我希望能够在无序列表中显示它,并将顶部的父项作为标题显示 下面的孩子。我知道它看起来像下面的东西,但不知道如何将它们放在一起。 我怎样才能将这些foreach语句放在一起?我更关注foreach的陈述。
foreach ()
{
<ul>
<li>
</li>
@foreach ()
{
<li>
<ul>
<li> </li>
<li> </li>
<li> </li>
<li> </li>
</ul>
</li>
}
</ul>
}
答案 0 :(得分:0)
实际上你的类的设计是错误的,如果有一个主/细节模型,它需要使用Hierarchical模型。看看这个:
public class DeliverablesMaster
{
public long DelMasterId {get; set;}
public string ProjectDeliverablesId { get; set; }
public string ProjectId { get; set; }
public string DeliverableCategory { get; set; }
public string DeliverableText { get; set; }
public string DeliverableOrder { get; set; }
public string UpsizeTs { get; set; }
public List<DeliverablesDetails> DelDetails { get; set; }
}
public class DeliverablesDetails
{
public string DelDetailId {get; set;}
public string ProjectDelivStatusId { get; set; }
public string ProjectDeliverableSID { get; set; }
public string PDSText { get; set; }
public string PDSCurrency { get; set; }
public long DelMasterId {get; set;}
public DeliverablesMaster DelMaster {get; set;}
}
然后你可以使用foreach来访问它们:
@foreach (var m in DeliverablesMaster )
{
<ul>
<li> </li>
@foreach (var d in m.DelDetails )
{
<li>
<ul>
<li> </li>
<li> </li>
<li> </li>
<li> </li>
</ul>
</li>
}
</ul>
}