在View中显示唯一的ID ASP.NET MVC
我对我的视图有麻烦。目前我正在创建一个表单。这是一个模型,有三个一对多的参考,基本上存储三个模型的数据。 Here's how my form looks在View中显示唯一的ID ASP.NET MVC
正如您所看到的数据,如委托人名称和佣金说明,我不需要重复。我需要使用剃刀代码来发布唯一的数据名称和描述,但成员和职位表应该以相同的方式显示。
我找不到方法,我尝试了很多东西,但没有帮助。
这里是我的Razor视图代码截至目前
@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>
任何帮助,高度赞赏。如果需要,我可以插入我的数据库,外观和其他东西,但截至目前我不认为这是必要的(我可能是非常错误的)
编辑: 我的操作,将值插入到此数据库
foreach (var employee in model.Employees)
{
if (employee.Selected == true)
{
var commissionemployeeposition = new CommissionEmployeePosition();
commissionemployeeposition.CommissionId = commission.Id;
commissionemployeeposition.EmployeeId = employee.Id;
if (model.SupervisorID == commissionemployeeposition.EmployeeId)
commissionemployeeposition.EmployeePositionId = (int)Position.Supervisor;
else
commissionemployeeposition.EmployeePositionId = (int)Position.Member;
//commission.CommissionEmployeePositions.Add(commissionemployeeposition);
unitOfWork.CommissionEmployeePositionRepository.Insert(commissionemployeeposition);
}
}
编辑:我加了我的模型
public class CommissionEmployeePosition
{
public int CommissionId { get; set; }
public int EmployeeId { get; set; }
public int EmployeePositionId { get; set; }
public Commission Commission { get; set; }
public Employee Employee { get; set; }
public EmployeePosition EmployeePosition { get; set; }
}
你试图删除具有重复Name
和Description
项目?这是我从问题中收集到的,如果这不正确,那么很抱歉。
你应该能够做这样的事情在你的剃须刀语法...
编辑:名称和描述是儿童对象。
@foreach (var item in Model.OrderBy(m => m.CommissionId).GroupBy(m => new { m.Commission.Name, m.Commission.Description }).Select(group => group.First()))
{{}}之前使用哈希集。名称,m.Description}说,我不能将方法组分配给匿名类型属性。 – HighSepton
你能分享你的模型吗? – ragerory
在问题中加入了它,希望它有帮助。 – HighSepton
您确定您为模型中的每件商品提供了不同的佣金名称和描述吗? –
显示添加到表格中的方法的新代码 –
为'Commission'声明一个变量。在循环中检查'item.Commission.Name'是否匹配'Commission'。如果是这样,省略显示值,否则显示它并重置'委员会'的值 –