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>
変更UserRoleId
とRoleName
:誰かが私を助けることができる場合
<li class="">
<span><input type="checkbox"><label></label>{"Id":FHdqsbg,"Description":"Menu Principal. NOTA: Par defaut ","Name":"AccessMainMenu"}</span>
</li>
を:)
A DropdownListForは、単純な選択を作成するために使用することです。複数選択ではなく、ここで私は複数選択が必要です。私はそれをどのようにすることができますか? –
@ NathanMeunier、なぜあなたのリストを 'Controller'でビルドしていないのですか?答えでは、ビューでより多くのフィルタを行う場合は、あなたのコンテキストを公開し、それは良い考えではありません。それをどうやって行うのか疑問があれば、別の問題を開いてください。 –