使用asp.net MVC和强类型视图处理复选框的Correct(TM)方法是什么。我有一个班级'Bar',其成员'foo'。 'foo'是'byte'类型。
现在我想做的是,在控制器中有这样的东西:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Page( Bar bar )
{
if (ModelState.IsValid)
{
SaveChanges(bar);
...
在视图中有类似的东西
<%=Html.CheckBox( "foo", Model.foo) %>
当然上面的代码不起作用,因为DefaultModelBinder(?)不知道如何将Checkbox(讨论here)的输出转换为byte,因此ModelState.IsValid为false。
如何让它发挥作用?自定义型号粘合剂?怎么样?看起来像一个简单的问题,但我没有找到一个全面的指南如何做到这一点。 (是的,我知道我在谷歌搜索: - )
答案 0 :(得分:4)
在您的模型中 - 将字节转换为Bool属性。您仍然可以将其作为字节存储在数据库中。只需让get / set使用bool并在那里进行转换。