2013-03-18 3 views
0

Я хочу, чтобы отобразить неизвестное количество флажков на странице в виде:Как создать список флажков?

<input type="checkbox"... /> 
<label for...> 

Моя таблица базы данных имеет информацию об этих флажков

Id 
Name 

Для простоты допустим, что Id просто целое число и Name - это цвет («Красный», «Зеленый»).

Как я могу сгенерировать эти поля?

Мой текущий код

Model

Public Property Colours As IEnumerable(Of CheckBox) 

Public Sub New() 
    Colours = ... 
End Sub 

View

@For Each item In Model.Colours 
    @Html.CheckBox(item.Text, item.Checked) 
    @Html.Label(item.Text, item.Text) 
Next 

Кроме того, каким образом CheckBoxList и CheckBoxField предполагается использовать?

ответ

2

Я хотел бы рассмотреть вопрос об использовании расширения для создания списка флажок, а не катя это вручную, например:

Некоторые коллеги возникла проблема с предыдущими версиями инструментария MVC Controls Toolkit. Это только слухи с моей стороны, поскольку я работал над чем-то другим в то время, но просто подумал, что я упомянул об этом в случае YMMV.

Re: «как же CheckBoxList и CheckBoxField» предполагается использовать, как я смотрю на это:

  • CheckBoxList для набора связанных параметров, и вы хотите, чтобы люди не выбрать ни одного, один или, возможно, более чем один
  • CheckBoxField, когда у вас есть один вариант, который да/нет или истина/ложь в природе (например, «галочкой меня отписать» коробка)

НТН, Натан

+0

В чем разница между CheckBoxField и CheckBox? –

+1

Привет Rowan, вы имеете в виду между [System.Web.UI.WebControls.CheckBoxField] (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkboxfield.aspx) и Html .CheckBox (как то, что вы использовали в своем исходном сообщении)? Если это так, то CheckBoxField предназначен для использования с веб-формами ASP.NET, поэтому у него есть дополнительные вещи, которые нужны веб-формам (так как вы могли бы описать это как систему с сохранением состояния, в то время как сеть «без гражданства»), тогда как Html.CheckBox просто дает вы используете тег как флажок – nkvu

+0

... поэтому я предполагаю, что с практической точки зрения это зависит только от типа приложения, с которым вы работаете, с CheckBoxField для приложения ASP.NET Web Forms. Это мое (упрощенное) понимание - кто-то может, вероятно, дать вам лучшее объяснение :-) – nkvu

Смежные вопросы