2017-05-11 3 views
0

私はasp.netでかなり新しいです。ここでも同様の質問があっても、私は問題を解決できませんでした。@ Html.ListBoxForはどのようにオブジェクトのリストで動作しますか?

私はオブジェクトのパーミッション(ID、名前、説明などで構成)を持っています。このリストを使用して、@ Html.ListBoxForで複数選択を作成して、ここで

<option value="Id of the permission">Name of the permission</option> 

は私のコントローラである:ここ

[ChildActionOnly] 
     public PartialViewResult _GroupAdd(ManagerGroupViewModel groupe) 
     { 
      if (groupe != null) 
      { 
       //Here isn't important 
       return PartialView(groupe); 
      } 
      else 
      { 
       ManagerGroupViewModel grp = new ManagerGroupViewModel(); 
       List<PermissionDTO> list = FactoryBO.Users.PermissionBO.GetAll(); 
       grp.permissionList = list; 
       return PartialView("_GroupAdd", grp); 
      } 
     } 

私の部分図:

@using (Ajax.BeginForm("_GroupAdd", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" })) 
{ 
<form class="col s12"> 
    <div class="row"> 
     <div class="input-field col s12"> 
      @Html.LabelFor(model => Model.groupe.Name, "Group name") 
      @Html.EditorFor(model => Model.groupe.Name, new { htmlAttributes = new { @class = "validate" } }) 
      @Html.ValidationMessageFor(model => Model.groupe.Name, "", new { @class = "text-danger" }) 
     </div> 
    </div> 
    <div class="input-field col s12"> 
    </div> 
    @Html.ListBoxFor(model => model.groupe.Permissions, new SelectList(Model.permissionList)) 
    <div class="form-group"> 
     <div class="col-md-offset-2 col-md-10"> 
      <input type="submit" value="Save" class="btn btn-primary" /> 
     </div> 
    </div> 
</form> 
} 
ような

瞬間のために、私はこの取得:

<div class="input-field col s12"> 
    @Html.LabelFor(model => Model.groupe.Name, "Group name") 
    @Html.EditorFor(model => Model.groupe.Name, new { htmlAttributes = new { @class = "validate" } }) 
    @Html.ValidationMessageFor(model => Model.groupe.Name, "", new { @class = "text-danger" }) 
    @Html.LabelFor(model => model.permissionList.UserRoleId) 
    @Html.DropDownListFor(m => m.UserRoleId, new SelectList(model.permissionList, "RoleId", "RoleName")) 
</div> 

変更UserRoleIdRoleName:誰かが私を助けることができる場合

<li class=""> 
<span><input type="checkbox"><label></label>{"Id":FHdqsbg,"Description":"Menu Principal. NOTA: Par defaut ","Name":"AccessMainMenu"}</span> 
</li> 

を:)

答えて

0

をそのように、あなたPartialDropDownListForを追加リスト内のフィールドの実際の名前に変更します。

参考文献:

+0

A DropdownListForは、単純な選択を作成するために使用することです。複数選択ではなく、ここで私は複数選択が必要です。私はそれをどのようにすることができますか? –

+0

@ NathanMeunier、なぜあなたのリストを 'Controller'でビルドしていないのですか?答えでは、ビューでより多くのフィルタを行う場合は、あなたのコンテキストを公開し、それは良い考えではありません。それをどうやって行うのか疑問があれば、別の問題を開いてください。 –

関連する問題