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

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

tb_role
RoleId  Role_Name
     1  SalesCreate
     2  SalesEdit
     3  AgentCreate
     4  AgentEdit

Я хочу перечислить роль для Sales в чекбоксе (SalesCreate и SalesEdit, поэтому у него только 2 чекбокса). Я сделал свой tb_role с использованием конфигурации aspnet, поэтому он не использует сущности.

вот мой контроллер:

RegisterModel account = new RegisterModel();
account.Roles = new MultiSelectList(Roles.GetAllRoles()); 

и мой вид:

 <td><select id="Roles" name="Roles">
                    <option>Sales</option>
                    <option>Agent</option>
     </select>
 </td>

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

когда я запускаю свой проект, мой флажок перечисляет все роли в tb_role. Я хочу, чтобы, если я выберу Продажи, мой флажок перечислил все Роли для Продаж (SalesCreate и SalesEdit). как это сделать?

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

1 Ответ

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

Пара способов сделать это. Одним из способов является это:

Окружите <select> тегом <form> и отправьте изменения.

в вашем контроллере:

public ActionResult Index(..., string role)
{
    //... rest of your code
    RegisterModel account = new RegisterModel();
    account.Roles = new MultiSelectList(Roles.GetAllRoles().Where(w => w.StartsWith(role)); 
    //... rest of your code
}
...