2014-09-04 89 views
0
@Html.CheckBox("WiFi", @Model.Amenities.Contains("WiFi")) 
    @Html.CheckBox("Dining", @Model.Amenities.Contains("Dining")) 

使用这种格式我能够从sql服务器获取值,但无法将它们与属性绑定。如何将多个复选框值绑定到Mvc中模型的属性?

这似乎很奇怪,但我输入的属性值直接进入数据库。我只想使用html helper。

+0

你是否有模型有属性布尔WiFi和布尔餐厅?我想你可能会误解'@ Html.CheckBox' – 2014-09-04 12:26:05

+0

我在模型中只有一个属性是用于复选框的设施。我想将这些复选框的所有值绑定到便利设施。 – 2014-09-04 12:29:16

+0

你想要什么是单选按钮 - 我将很快发布一个答案 – 2014-09-04 12:30:01

回答

1

如果你想绑定范围内的财产Amenities可能值,使用单选按钮(复选框是结合布尔值)

@Html.RadioButtonFor(m => m.Amenities, "WiFi")<span>WiFi</span> 
@Html.RadioButtonFor(m => m.Amenities, "Dining")<span>Dining</span> 
// More radio buttons for other possible values that you want to set for Amenities 

这将创建一系列单选按钮,允许您设置的Amenities从(“餐饮”等“WiFi”的,)的选择之一的值,并且如果Amenities初始值是说“用餐”,当视图被呈现,该第二单选按钮将被选择

PS 。总是使用HTML帮助器的强类型版本 - @Html.CheckBoxFor(),而不是@Html.CheckBox()

+0

但是这样我就不能选择它们两个。它们应该以字符串的形式存储。 – 2014-09-04 12:49:48

+0

在这种情况下,您需要'@ Html.ListBoxFor()'与'SelectList'来允许您选择多个值,或者在视图模型'bool IsWiFi','bool IsDining'等中创建一系列属性,以便他们可以被绑定到复选框,或手动从FormCollection中提取复选框值,并构建字符串,因为您当前正在执行 – 2014-09-04 12:55:54

+0

我没有bool Wifi。我有字符串设施,其中已被打勾的值将被存储。 – 2014-09-04 12:59:51

相关问题