1

私は次のモデルクラスを持っています:-

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] を追加しました。

4

1 に答える 1