Edytowalna lista przedmiotów w widoku

0

Witam, mam zamiar zrobić w ASP.NET MVC5 listę zakupów, która wyglądałaby mniej więcej tak:

  • Data zakupu: 18/08/2016
  • Przedmiot: Długopis Ilość: 10
  • Przedmiot: Ołówek Ilość 15
  • Przycisk (Dodaj przedmiot)

Prosto jest zrobić przedmiot wybierany z listy i obok tego textbox na ilość, ale będzie to tylko dotyczyło jednego przedmiotu. Jak zrobić model takiej listy zakupów, żeby zawierała ona listę przedmiotów wraz z ilościami oraz widok do tego? Najlepiej bez użycia JavaScriptu, bo w ogóle się na nim nie znam, ale jeśli będzie taka konieczność to w tym miejscu mogę go użyć.

Oto mój model Przedmiotów:

 public class Item
{
    [Key]
    public int ItemID { get; set; }

    [Display(Name = "Nazwa przedmiotu")]
    [Required(ErrorMessage = "Nazwa przedmiotu jest wymagana.")]
    public string Name{ get; set; }
    (...)
    [Display(Name = "Magazyn")]
    public int WhID { get; set; }
    public virtual Werehouse Werehouse { get; set; }

    [Display(Name = "Kategoria")]
    public int CategoryID { get; set; }
    public virtual Category Category { get; set; }
}
0

Do tego zadania ja zrobiłbym 3 klasy:
Produkt (ID, Nazwa, Kategoria)
Item (Produkt, Ilosc)
ListaZakupow (List<Item>, DataZakupow)

Do tego 2 widoki:
Index (model: ListaZakupow)
Dodaj (model: Item)

Co do struktury to tyle, teraz możesz pokombinować jak to zaimplementować.
Wskazówka: informacje o liście zakupów trzeba gdzieś przechowywać. Możesz użyć bazy danych lub jakiejś prywatnej zmiennej statycznej w kontrolerze.

0

To nadal nie jest odpowiedź na moje pytanie, właśnie kluczem jest widok, którego nie potrafię zaimplementować w ten sposób, że mogę dynamicznie dodawać dropdownlist z listą przedmiotów z bazy danych i pole tekstowe gdzie będę mógł wpisać liczbę zakupionych produktów. Nie chcę się wymądrzać, ale to co napisałeś jest oczywiste, chodzi mi właśnie o konkretny Model jak ma wyglądać, żeby automatycznie wygenerowany kontroler i widok przez scaffolding działał poprawnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1