代码之家  ›  专栏  ›  技术社区  ›  Cédric Boivin

枚举mvc呈现在我的视图上的复选框,我的控制器的反应?

  •  1
  • Cédric Boivin  · 技术社区  · 14 年前

    如果我在视图中得到一个checkbox列表,这个列表来自Enum(标志)。如果我的复选框都是相同的名称,我的控制器会自动更新我的枚举(标志)值在我的ViewModel与多个选择?

    如果我进入我的视野

    <% foreach (var t in Enum.GetValues(typeof(FoodType)))
               {
                   Response.Write(t.ToString() + " ");
                %>
                <input type="checkbox" name="TypeOfFood"  value="<%:(int)t %>" />
    
                <% }%>
    

    我的控制器是这样工作的

    public ActionResult Manage(FoodEntity food)
            {
    
    
            }
    

    1 回复  |  直到 14 年前
        1
  •  2
  •   jwsample    14 年前

    不幸的是没有。

    不过,这将是一个相当酷的功能。

    下面是一个快速的方法,可以让你想要的价值回到你的模型中:

    int newEnumValue = Request.Form["CheckBoxField"].Split(',').Aggregate(0, (acc, v) => acc |= Convert.ToInt32(v), acc => acc);