Перечень с рендерингом MVC в флажок на мой взгляд, реакция моего контроллера? - PullRequest
1 голос
/ 22 июля 2010

Если я получил список флажков в представлении, и этот список пришел из Enum (флаги).Если мой флажок совпадает с тем же именем, будет ли мой контроллер автоматически обновлять мои значения Enum (flags) в моей ViewModel с множественным выбором?

Предположим, я получаю в моем View

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

            <% }%>

MyКонтроллер, работающий так:

public ActionResult Manage(FoodEntity food)
        {


        }

Если я проверяю флажок «много», когда смотрю, тогда свойство FoodType в моем foodEntity выбрано только значение первого флажка, но мое перечисление является флагом ... что янужно, если я хочу поддержать флаг?

спасибо.

1 Ответ

2 голосов
/ 22 июля 2010

К сожалению, нет.

Он просто захватит первое проверенное значение и присвоит его полю вашего значения.

Это было бы довольно крутой функцией, хотя.

Вот быстрый способ вернуть искомое значение в вашу модель:

int newEnumValue = Request.Form["CheckBoxField"].Split(',').Aggregate(0, (acc, v) => acc |= Convert.ToInt32(v), acc => acc);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...