Cześć, mam taki problem. Mam prostą bazę danych z informacjami o produktach. Każdy produkt ma swoją kategorię. Chcę wyświetlać produkty i listę kategorii do wyboru. W metodzie indeks używam jako modelu Listę produktów. Wyświetlam każdy produkt, wyciągam informacje o wszystkich możliwych kategoriach i też je wyświetlam. W ten sposób wyciągam informacje o kategoriach. (to wewnątrz widoku)
@{
List<string> categories = new List<string>();
foreach (var item in Model)
{
if (!categories.Contains(item.Category))
{
categories.Add(item.Category);
}
}
foreach (var item in categories)
{
<p>@item</p>
@Html.ActionLink(@item, "Index", "Product",new {category = @item},null)
}
}
Gdy wybiorę jakąś kategorię to wyświetlają mi się tylko produkty z danej kategorii i co za tym idzie w części w której wyświetlić powinny się wszystkie kategorie dostaję tylko jedną, aktualnie wybraną kategorię. To jest w sumie logiczne. Chciałbym zrobić tak by w moim widoku Index zrobić w części odpowiedzialnej za wyświetlanie kategorii widok częściowy któremu odpowiada akcja w kontrolerze, ale nie wiem jak. Gdzieś wyczytałem że takie akcje mają sens jedynie w przypadku używania ajaxa. Inne rozwiązanie które przychodzi mi do głowy to zrobienie osobnej klasy dla mojego modelu w którym będzie i lista produktów i lista kategorii. Jakie rozwiązanie jest najlepsze? Czy to z widokiem częściowym ma sens?
Pozdrawiam.