git: список только новых файлов

Я боролся с этим на этой неделе, и ответ Бассама был ключом к тому, чтобы меня на правильном пути. У меня есть динамический список элементов инвентаря, который может иметь поле количества. Мне нужно было знать, сколько из этих элементов они выбрали, кроме списка элементов может варьироваться от 1 до n .

Мое решение было довольно простым в конце. Я создал ViewModel под названием ItemVM с двумя свойствами. ItemID и количество. В post post я принимаю список из них. При индексировании все элементы передаются ... даже с нулевым количеством. Вы должны проверить и обработать его на стороне сервера, но с итерацией тривиально обращаться с этим динамическим списком.

В моем представлении я использую что-то вроде этого:

@foreach (Item item in Items)
{
<input type="hidden" name="OrderItems.Index" value="@item.ItemID" />
<input type="hidden" name="OrderItems[@item.ItemID].ItemID" value="@item.ItemID" />
<input type="number" name="OrderItems[@item.ItemID].Quantity" />
}

Это дает me Список с индексом 0, но итерация в контроллере извлекает все необходимые данные из новой сильно типизированной модели.

public ActionResult Marketing(List<ItemVM> OrderItems)
...
        foreach (ItemVM itemVM in OrderItems)
            {
                OrderItem item = new OrderItem();
                item.ItemID = Convert.ToInt16(itemVM.ItemID);
                item.Quantity = Convert.ToInt16(itemVM.Quantity);
                if (item.Quantity > 0)
                {
                    order.Items.Add(item);
                }
            }

Затем вы получите набор элементов, которые имеют количество больше 0 и Идентификатор элемента.

Этот метод работает в MVC 5 с использованием EF 6 в Visual Studio 2015. Может быть, это поможет кому-то найти такое решение, как я.

34
задан BetaRide 25 January 2012 в 09:15
поделиться