2012-03-28 25 views
1

嗨,我很安靜的使用C#的MVC 3。我使用實體框架和數據庫優先方法自動生成代碼。但問題是,我試圖找到有關使用C#代碼在MVC3中插入複選框的信息,但我無法獲得有用的網站。 我可以用HTML代碼中插入的複選框:如何在MVC 3中實現複選框?

<input type="checkbox" name="Science" id="s1" value="Science" /> 
<input type="checkbox" name="Biology" id="b1" value="Biology" /> 
<input type="checkbox" name="Chemistry" id="c1" value="Chemistry" /> 

但是我怎麼插入數據庫中的複選框值和驗證,只有一個單一的複選框被選中?

e.g我有一個表命名爲Paper在那裏我有:

Paper_Title - textbox 
Paper_Details - textbox 
Category - Checkboxes (e.g. Science, biology, chemistry) 
Comments - textbox. 
Submit-button 
+0

您的html示例中的「Checkboxes」實際上是「Textboxes」。類型=「文本」? – Robbie 2012-03-28 19:05:12

回答

1

使用單選按鈕,然後對分類(說enumCategories)枚舉。有一個類型爲enumCategories的模型類別,然後在回發中設置基於哪個單選按鈕被檢查的模型。 希望這可以讓你對這種方法有一個詳盡的想法。

1

我不認爲複選框是你在這裏需要的,它們更多地用於多選項目。無論是單選按鈕還是下拉菜單都更適合。就個人而言,我會說一個下拉對你更好,因爲有已經爲它建立一個編輯模板,例如:

型號:

我已經添加了以下內容特性

public string Category { get; set; } 
public IEnumerable<SelectListItem> Categories { get; set; } 

在load方法我已經放了兩個樣品類別有:

Categories = new List<SelectListItem> 
      { 
       new SelectListItem 
       { 
        Selected = false, 
        Text = "Chemistry", 
        Value = "Chemistry" 
       }, 
       new SelectListItem 
       { 
        Selected = false, 
        Text = "Science", 
        Value = "Science" 
       } 
      }; 

查看:

@Html.DropDownListFor(m => Model.Category, Model.Categories) 
+0

當我輸入它顯示一個錯誤「public IEnumerable Categories {get; set;} 」錯誤 - 引用缺失。 – Shaan 2012-03-31 14:01:56

+0

您將需要對System.Web.Mvc和System.Collections.Generic的使用引用 – mattytommo 2012-03-31 15:41:07