如何在MVC 3中实现Checkbox?

时间:2012-03-28 18:55:23

标签: c# asp.net-mvc asp.net-mvc-3 razor checkbox

嗨我在使用C#的MVC 3上很安静。我正在使用实体框架和数据库第一种方法自动生成代码。但问题是,我试图找到有关使用C#代码在MVC3中插入复选框的信息,但我无法获得有用的网站。 我可以使用HTML标签插入复选框:

<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" />

但是如何在数据库中插入复选框值并验证是否只选中了一个复选框?

例如,我有一个名为Paper的表格,我有:

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

2 个答案:

答案 0 :(得分:1)

使用单选按钮,然后为类别(例如enumCategories)创建一个枚举。有一个类型为enumCategories的类型,然后在回发中根据选中的单选按钮设置模型。 希望这能为您提供有关该方法的精心构思。

答案 1 :(得分:1)

我认为复选框不是你需要的,它们更多地用于多选项。单选按钮或下拉列表更适合。就个人而言,我认为下拉列表对你来说更好,因为已经为它构建了一个编辑器模板,例如:

<强>型号:

我已将以下内容添加到属性

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

在加载方法中,我在其中放了两个样本类别:

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)