Как создать группу флажков с несколькими выборами в ASP.Net MVC с перечислением c #?

asp.net-mvc asp.net-mvc-5 c# entity-framework entity-framework-6

Вопрос

Мне нужно сделать набор флажков, где пользователь может выбрать один или несколько рынков. Обычно я бы использовал набор логических значений для этого, так как это было бы довольно сложно и, на мой взгляд, не занимало много места в базе данных или занимало столько времени, сколько нужно для загрузки, поскольку они являются только логическими значениями. Мне было предложено, чтобы я мог использовать одно значение перечисления в базе данных для списка флажков. Например, вот перечисление

[Flags]
public enum Markets 
{

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

}

Тогда в базе данных я мог бы хранить 14 для Канады Уса и Исландии. Мне было интересно, перечисляет ли он путь в MVC для флажков, и если да, то как это работает?

Заметьте, я использую C # MVC4 и сущность framework 5, но я собираюсь перейти к MVC5 сущности framework 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 with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему