C# 在Asp.net MVC中使用强类型视图处理复选框

C# 在Asp.net MVC中使用强类型视图处理复选框,c#,asp.net-mvc,C#,Asp.net Mvc,使用asp.net MVC和强类型视图处理复选框的正确(TM)方法是什么。我有一个类“Bar”,它有一个成员“foo”foo'是类型“byte” 现在我想做的是,在控制器中有这样的东西: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Page( Bar bar ) { if (ModelState.IsValid) { SaveChanges(bar); ... 在视图中是这样的 <%=Html.C

使用asp.net MVC和强类型视图处理复选框的正确(TM)方法是什么。我有一个类“Bar”,它有一个成员“foo”foo'是类型“byte”

现在我想做的是,在控制器中有这样的东西:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Page( Bar bar ) 
{
   if (ModelState.IsValid)
   {    
      SaveChanges(bar);
 ...
在视图中是这样的

<%=Html.CheckBox( "foo", Model.foo) %>

当然,上面的代码不起作用,因为DefaultModelBinder(?)不知道如何将输出从复选框(已讨论)转换为字节,因此ModelState.IsValid为false


如何让它工作?自定义模型绑定器?怎么用?这似乎是一个简单的问题,但我没有找到一个全面的指南如何做到这一点。(是的,我知道我在谷歌搜索方面很差劲:-)

在您的模型中-将字节转换为Bool属性。您仍然可以将其作为字节存储在数据库中。只需让get/set使用bool并在那里转换即可