CheckBox в asp.net mvc - PullRequest
       24

CheckBox в asp.net mvc

3 голосов
/ 13 мая 2010

у меня есть два варианта

Один

<%= Html.CheckBox("postType", false, new { @id = item.int_PostTypeId.ToString() })%>

Второй

<input type="checkbox"  name="postType" value="<%= item.int_PostTypeId.ToString() %>

1-й вопрос: В чем разница между этими двумя методами объявления флажка.

2-й вопрос: и как мы можем получить значение проверенного флажка?

Ответы [ 2 ]

4 голосов
/ 13 мая 2010

Используйте Html.Checkbox (или даже лучше CheckBoxFor, в MVC2), если вы используете связыватель модели. Он будет обрабатывать флажок прозрачно для вас, и вы прочитаете логическое значение на вашей модели. Это сделает что-то более сложное, чем флажок (чтобы избежать проблемы, которая возникает из-за того, что непроверенный флажок вообще не передается в POST).

Напротив, используйте ввод, если вы извлекаете значение через FormCollection: если вы используете соединение Html.Checkbox, вы получите что-то «странное» в посте (не обычное значение, а строку с двумя тестовыми значениями (например, «true, false»). Если вы используете ввод, вам просто нужно проверить, существует ли это имя в ключах записи.

0 голосов
/ 13 мая 2010

Одно существенное отличие состоит в том, что вы устанавливаете атрибут «id» для ввода HTML (@ используется для обозначения атрибута тега HTML: @id, @class и т. Д.) В первом фрагменте и устанавливаете «значение» второго ...

Вам нужно установить @id в обоих, чтобы вы могли легко получить значение в Javascript.

Вы не сказали, в каком контексте вы хотите получить это значение - на стороне клиента через JavaScript или на стороне контроллера через .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...