Используйте флажок в поле зрения и получите его значение в модели - PullRequest
0 голосов
/ 20 августа 2010

Могу ли я использовать это в View?

<%= Html.CheckBoxFor(user => user.Role, "Administrator")%>

, а затем просто прочитайте значение свойства в модели, если установлен флажок:

string role = user.Role;
(role = "Administrator")

Ответы [ 2 ]

2 голосов
/ 20 августа 2010

в вашей модели ...

public class UserEditModel { 
  public string UserName { get; set; }
  public string[] Role { get; set; }
}

На ваш взгляд ...

<%: Html.TextBoxFor(x = x.UserName)<br />
<input type="checkbox" name="role" id="role_Administrator" value="Administrator" />
<input type="checkbox" name="role" id="role_Create_Project" value="Create Project" />
<!-- etc -->

Да, вам нужно написать сырой HTML для этого сценария. Это будет правильно связываться со значениями по умолчанию MVC. CheckBoxFox по умолчанию действительно хорошо работает только с верными / ложными привязками. Что-то вроде

<%: Html.CheckBoxFor(x => x.AcceptLicenseTerms) %>

или

<%: Html.CheckBoxFor(x => x.RememberMe) %>
0 голосов
/ 20 августа 2010

Флажки читаются как «истина» или «ложь», то есть они имеют логический тип. То, что вы можете сделать, это создать модель представления со свойством IsAdmin, а затем проверить в своем контроллере, имеет ли свойство значение true.

// View
<%: Html.CheckBoxFor(model => model.IsAdmin)

// Controller
If(viewModel.IsAdmin)
{
    doYourStuff();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...