私の意見に問題があります。現在私はフォームを作成しています。これは3つの1から多くの参照を持ち、基本的に3つのモデルからのデータを格納するモデルです。 Here's how my form looksユニークなIDだけを表示するASP.NET MVC
コミッション名や手数料の説明のように、私は複製する必要はありません。ユニークなデータ名と説明のみを投稿するには、剃刀コードの方法が必要ですが、メンバーとポジションの表は同じ方法で表示する必要があります。
私は道を見つけることができません、私は多くのことを試しましたが、それは助けになりませんでした。
はここで今
@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; }
}
モデル内の各商品に異なる手数料名とその説明を記入してもよろしいですか? –
テーブルに新しい値を追加するメソッドのコードを表示します –
'Commission'の変数を宣言します。ループでは、 'item.Commission.Name'が' Commission'と一致するかどうかをチェックします。そうであれば、値を表示せずにそれを表示し、 'Commission'の値をリセットしてください。 –