私は次のモデルクラスを持っています:-
public partial class SecurityroleTypePermision
{
public int SecurityRoleID { get; set; }
public int PermisionLevelID { get; set; }
public int AssetTypeID { get; set; }
public virtual PermisionLevel PermisionLevel { get; set; }
public virtual SecurityRole SecurityRole { get; set; }
public virtual TechnologyType TechnologyType { get; set; }
}
そして、次のビュー:-
@using (Html.BeginForm("AssignPermisionLevel2", "SecurityRole"))
{@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<table class="table table-striped table-bordered bootstrap-datatable datatable">
<tr>
<th></th><th></th></tr>
@{int i = 0;
foreach (var item in Model.TechnologyType.OrderBy(a=>a.Name)) {
string s = "Model." + item.Name.ToLower() + "PermisionLevel" ;
<tr><td class="f">
@item.Name : @Html.DropDownList("@[i]+PermisionLevelID", new SelectList(Model.PermisionLevel, "PermisionLevelID", "Name",s))
@Html.Hidden("@[i]+ AssetTypeID",item.AssetTypeID)
@Html.Hidden("@[i]SecurityRoleID",Model.SecurityRole.SecurityRoleID)
@(i = i+1);
</td><td class="f"></td></tr>}
}
</tbody></table>
<input type="submit" value="Assign" class="btn btn-primary"/>
</div></div></div>}
そして、次のアクションメソッド:-
[HttpPost]
public ActionResult AssignPermisionLevel2(ICollection<SecurityroleTypePermision> list)
{foreach (var c in list)
{repository.InsertOrUpdateSecurityroleTypePermisions(c); }
repository.Save();
return RedirectToAction("Index");}
しかし、ドロップダウン選択と 2 つの非表示フィールドを含む値のリストをアクション メソッドに送信するにはどうすればよいでしょうか? //ヒント テスト目的でのみビュー内に [i] を追加しました。