繁体   English   中英

如何使用c#枚举在ASP.Net MVC中创建一组多选复选框?

[英]How do I make a group of multi-select checkboxes in ASP.Net MVC with c# enum?

我需要设置一组复选框,用户可以在其中选择一个或多个市场。 我通常会使用一组布尔值来完成此操作,因为这是相当困难的,在我看来,它们仅是布尔值,因此不会占用数据库中的太多空间或花费那么长的时间来加载它们。 我建议我可以在数据库中为复选框列表使用单个枚举值。 例如这里是枚举

[Flags]
public enum Markets 
{

    Canada = 2,
    USA = 4,
    Iceland = 8,
    Brazil = 16,
    Italy = 32,
    Japan= 64,

}

然后在数据库中,我可以为加拿大,美国和冰岛存储14个。 我想知道是枚举MVC中的复选框的方式吗?如果可以,它将如何工作?

注意我正在使用C#MVC4和实体框架5,但是我将过渡到MVC5实体框架6。

在ASP.NET MVC中,这非常简单,只需确保页面上具有相同名称的输入列表并且绑定到后端的列表即可。

<form method="post" action="/Home/UpdateInts">
    <input type="checkbox" name="Markets" value="Canada" />
    <input type="checkbox" name="Markets" value="USA" />
    <input type="checkbox" name="Markets" value="Iceland" />
    <input type="checkbox" name="Markets" value="Brazil" />
    <input type="submit" />
</form>

那应该做。 您可以使用HtmlHelpers来创建它们,也可以只使用Razor语法。

这是一些更有用的信息。

http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM