关于将复选框绑定到MVC viewmodel中的字符串属性

时间:2012-11-21 04:31:50

标签: asp.net-mvc

在我的项目中,我在视图模型中有一个字符串字段,以表格形式显示并发回给控制器。

但出于某种原因,我想显示一个复选框,并从用户输入中检索字符串“True”/“False”

我通过互联网搜索并找到了这个 How to render a model property of string type as checkbox in ASP.NET MVC 它利用编辑器模板来满足我的需求。

我的问题是如何实现这一点,因为在编辑器模板中,我只能看到如何将字符串解释为复选框,但它从不解释或显示复选框值如何绑定回字符串字段“True”/“False”。

如果我想要“是”/“否”而不是“真”/“假”,我该怎么办?是否需要将转换器解析为字符串?

抱歉我的英语不好,缺乏mvc知识,我刚开始MVC和网络开发几天。

更新: 1.我使用ViewModel与表单绑定,所以我需要像Html.CheckBoxFor(x => x.value)这样的东西 虽然x.value是一个字符串,但显然无法使用默认的CheckboxFor

1 个答案:

答案 0 :(得分:1)

我认为你要问的是如何将价值保存回数据库,这更像是一个后端的C#或VB问题。

如您所知,当您在HTML页面上提交表单时,如果勾选了一个复选框,则它的值将在POST参数中传递回服务器:

前端HTML:

<input type="checkbox" name="theCheckBox" value="Yes" />

Page_Load()中的后端C#或类似的

if(Request.Form["theCheckBox"] == "Yes") {
    // save value "Yes" into database
}

请记住,如果复选框未选中,则Request.Form [“theCheckBox”]将为空