2013-03-18 44 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控件工具包的先前版本有問題。這只是我當時的傳聞,因爲我當時正在處理不同的事情,但只是想在YMMV中提到它。

回覆:「你怎麼樣的CheckBoxList和CheckBoxField字段」應該被使用,我看它的方式是:

  • CheckBoxList的一組相關的選項,你希望人們選擇無,一個或可能不止一個
  • CheckBoxField字段,因爲當你有一個選項是/否或真/在本質上假(如「嘀我退訂」框)

HTH, 彌敦道

+0

CheckBoxField和CheckBox有什麼區別? – 2013-03-18 22:40:03

+1

您好羅恩,你的意思是[System.Web.UI.WebControls.CheckBoxField](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkboxfield.aspx)和Html .CheckBox(就像你在原始文章中使用的那樣)?如果是這樣,那麼CheckBoxField就是用於ASP.NET Web表單,因此它具有Web表單所需的額外功能(正如您可以將其描述爲一個有狀態的系統,而Web是「無狀態的」),而Html.CheckBox只是給出了你一個標籤作爲複選框 – nkvu 2013-03-18 23:01:29

+0

...所以我想從實際的角度來看,它只是取決於你使用CheckBoxField作爲ASP.NET Web窗體應用的應用類型。這是我的(簡單)理解 - 別人可以給你一個更好的解釋:-) – nkvu 2013-03-18 23:05:00