我的观点有问题。目前我正在创建一个表单。它是一个具有三个一对多引用的模型,基本上存储来自三个模型的数据。 Here's how my form looks
正如您可以看到佣金名称和佣金描述等数据,我不需要复制。我需要在剃刀代码中使用一种方法来仅发布唯一的数据名称和描述,但成员和位置表应该以相同的方式显示。
我找不到方法,我尝试了很多东西,但没有帮助。
这是我现在的Razor View代码
sys.argv[1]
非常感谢任何帮助。如果需要,我可以插入我的数据库,它的外观和其他东西,但截至目前我认为不需要它(我可能是非常错误的)
编辑: 我的Action将值插入此数据库
sys.argv[2]
编辑:我添加了我的模型
@model IEnumerable<CPO.Models.CommissionEmployeePosition>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Commissions</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table table-bordered table-hover" >
<tr>
<th>Commission</th>
<th>Description</th>
<th>Members</th>
<th>Positions</th>
<th>Feedback</th>
<th>Actions</th>
</tr>
@foreach (var item in Model.OrderBy(m=>m.CommissionId))
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Commission.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Commission.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.Employee.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.EmployeePosition.Name)
</td>
<td>
<p>@Html.ActionLink("List", "Index", "Annotation", new { id =
item.Commission.Id }, null)</p>
<p>@Html.ActionLink("New", "Create", "Annotation", new { id =
item.Commission.Id }, null)</p>
</td>
<td>
<p>@Html.ActionLink("Delete Commission", "Delete", "Commission", new
{ id = item.Commission.Id }, null)</p>
</td>
</tr>
}
</table>
答案 0 :(得分:1)
您是否尝试删除重复Name
和Description
的商品?这就是我从这个问题中收集到的内容,如果这是不正确的,那就很抱歉。
您应该可以在Razor语法中执行类似的操作...
编辑:名称和描述是子对象。
@foreach (var item in Model.OrderBy(m => m.CommissionId).GroupBy(m => new { m.Commission.Name, m.Commission.Description }).Select(group => group.First()))