ASP.Net MVC 3 CheckBoxList из базы данных - PullRequest
1 голос
/ 26 сентября 2011

У меня есть таблица с именем

tb_role
id  role
1   admin
2   user
3   viewer

, и для просмотра это выглядит так:

<div style="width:50%; float:right;">
    <legend>User Role</legend>
       <table>
        <tr>
         <th>Role</th>
        </tr>
        <tr>
         <td align="center"><input type="checkbox" id="CBRole"/></td>
        </tr>
       </table>
</div>

Я хочу спросить, как вывести свой флажок (CBRole) из моей таблицы?поэтому мой CBRole указан в моей таблице.

спасибо большое

РЕДАКТИРОВАТЬ

предположил, что у меня есть таблица ролей, подобная этой:

tb_role
RoleId  Role_Name
     1  SalesCreate
     2  SalesEdit
     3  AgentCreate
     4  AgentEdit

я хочу перечислить роль для продаж в флажкеSalesCreate и SalesEdit, так что у него только 2 чекбокса), как это сделать?спасибо

Ответы [ 2 ]

0 голосов
/ 26 сентября 2011

Из вашего контроллера вы заполняете модель представления следующими свойствами:

Ваш RoleViewModel

public IList<int> RolesSelected { get; set; }
public MultiSelectList Roles { get; set; }

Из контроллера, который обрабатывает вызов Get (например, / role / edit / 1)

 model.RolesSelected = new List<int>();

 //here the code to populate the eventually already selected roles (update case)

 model.Roles = new MultiSelectList(repository.GetRoles(), "Id", "Name", model.SettoriSelected);

затем, по вашему мнению (внутри тега формы), вы будете делать что-то вроде этого

 @foreach (var item in Model.Roles)
 {
   <div class="MyClass">
     <label for="@item.Value" class="MyClassForCheck">
       <input type="checkbox" id="@item.Value" name="RolesSelected" value="@item.Value" @(item.Selected ? "checked" : "") />@item.Text</label>
   </div>
 }

в контроллере, отвечающем на часть публикации, к которой вы будете обращаться к выбранным ролям с выбранными идентификаторами

В примере я поставил div, но yoo может изменить его на то, что вам нравится, очевидно.Надеюсь, это поможет

0 голосов
/ 26 сентября 2011

Возможно, вам нужно что-то похожее на следующий пост в StackOverflow, Перечислить в CheckBox

...