在View ASP.NET MVC中仅显示唯一的Id

时间:2017-08-22 12:58:03

标签: c# asp.net-mvc asp.net-mvc-4 razor

我的观点有问题。目前我正在创建一个表单。它是一个具有三个一对多引用的模型,基本上存储来自三个模型的数据。 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>

1 个答案:

答案 0 :(得分:1)

您是否尝试删除重复NameDescription的商品?这就是我从这个问题中收集到的内容,如果这是不正确的,那就很抱歉。

您应该可以在Razor语法中执行类似的操作...

编辑:名称和描述是子对象。

@foreach (var item in Model.OrderBy(m => m.CommissionId).GroupBy(m => new { m.Commission.Name, m.Commission.Description }).Select(group => group.First()))