Это мой код контроллера.Невозможно заполнить флажок из данных базы данных в mvc 4
public ActionResult Create()
{
ViewBag.grp_id = new SelectList(db.tm_grp_group, "grp_id", "grp_name");
ViewBag.perm_id = new SelectList(db.tm_perm_level, "perm_id", "perm_levelname");
return View();
}
Ниже мой код просмотра.
@model Permission.ts_grp_perm_mapping
....
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>ts_grp_perm_mapping</legend>
<div class="editor-label">
@Html.LabelFor(model => model.grp_permid)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.grp_permid)
@Html.ValidationMessageFor(model => model.grp_permid)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.grp_id, "tm_grp_group")
</div>
<div class="editor-field">
@Html.DropDownList("grp_id", String.Empty)
@Html.ValidationMessageFor(model => model.grp_id)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.perm_id, "tm_perm_level")
</div>
<div class="editor-field">
@Html.DropDownList("perm_id", String.Empty)
@Html.ValidationMessageFor(model => model.perm_id)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
В контроллере ViewBag.perm_id
содержит некоторые значения (это внешний ключ). In perm.id
отображает в виде dropdownbox, но я хочу, чтобы это было в виде checkboxlist. Как я могу это достичь?
Это модель, которую я создал.
public class AssignUserViewModel
{
public tm_perm_level[] perms { get; set; }
public int grp_id { get; set; }
}
Теперь в контроллере, как я могу отправлять значения для просмотра? Это моя tm_perm_level
модель
public partial class tm_perm_level
{
public tm_perm_level()
{
this.ts_grp_perm_mapping = new HashSet<ts_grp_perm_mapping>();
}
public int perm_id { get; set; }
public string perm_levelname { get; set; }
public string perm_description { get; set; }
public bool perm_status { get; set; }
public virtual ICollection<ts_grp_perm_mapping> ts_grp_perm_mapping { get; set; }
}
Это ts_grp_perm_mapping
модель
public partial class ts_grp_perm_mapping
{
public ts_grp_perm_mapping()
{
this.ts_perm_levelmapping = new HashSet<ts_perm_levelmapping>();
}
public int grp_permid { get; set; }
public int grp_id { get; set; }
public int perm_id { get; set; }
public List<tm_perm_level> permissions { get; set; }
public virtual tm_grp_group tm_grp_group { get; set; }
public virtual tm_perm_level tm_perm_level { get; set; }
public virtual ICollection<ts_perm_levelmapping> ts_perm_levelmapping { get; set; }
}
Создайте модель представления, содержащую 'bool IsSelectedProperty' и другие свойства' tm_perm_level', которые вы хотите в представлении. Затем используйте цикл 'for'' EditorTemplate' для отображения каждого элемента в коллекции –
Как я могу отправлять значения из контроллера для просмотра? –
Модель просмотра, которую вы показали, не будет работать. Вы хотите отобразить каждый доступный «tm_perm_level» в представлении с соответствующим флажком? И вам нужно показать свои модели. –