Я использую string[] roles = Roles.GetAllRoles()
, чтобы получить строку [] всех ролей членства ASP.NET для моего приложения.Я отправляю роли моему представлению в ViewData и использую foreach для создания набора флажков, используя <%: Html.CheckBox("RoleCheckBox") %>
.Есть 3 роли, и мой взгляд делает 3 флажка.Когда я делаю View / Source, я вижу флажки и соответствующие им скрытые теги.Все они одинаковы, поэтому есть 6 тегов с именем «RoleCheckBox» - 3, которые отображают флажки, и 3, которые скрыты.
Проблема возникает, когда я отправляю форму обратно на контроллер и связываюрезультаты - что-то вроде public ActionResult Create(Person person, string[] RoleCheckBox)
.Я получаю ЧЕТЫРЕ строки и понятия не имею, откуда берется четвертая строка («ложь»).Я мог бы провести некоторое тестирование, попробовав различные комбинации проверок, чтобы увидеть, какая из них (надеюсь) не меняется, и игнорировать ее, но это просто уродливо.
Кто-нибудь знает, почему это происходит?* Спасибо,
Джей