galeria i enumy w .net core

0

piszę sobie stronkę w .net core i mam 2 pytanka:
1 jest jakiś fajny sposób na galerię zdjęć? bo na razie mam jedno a chciałbym zrobić żeby mogło być ich kilka tak przesuwanych
2 chciałem zrobić sobie zrobić filtrowanie ogłoszeń, i wszystko jest fajnie, tylko dane mam w enumach i używam tego tak

        <label asp-for="gender" class="control-label"></label>
        <select asp-for="gender" class="form-control" asp-items="Html.GetEnumSelectList<Gender>()"></select>
        <span asp-validation-for="type" class="text-danger"></span>

i działa, tylko mam takich pól do wyboru kilka i chciałbym to jakoś rozwiązać, żeby można było tego nie wybierać, w sensie że filtruje tylko przykładowo po płci a po wzroście nie, a teraz jak używam tego Html.GetEnumSelectList to mam już wybrany jakiś tam enum, chciałbym żeby dało się to jakoś pominąć
Z góry dzięki

1

To z enumów wrzuć do bazy i traktuj jako dane słownikowe, a galeria ma mało wspólnego z .net core ale ja już się upierasz to może madskristensen/PhotoGallery

#EDIT
Chodzi o to żebyś nie używał enumów, tylko obiektów z bazy danych:

public class Category
{
    public int Id {get;set;}
    public string Name {get;set;}
}

public class Type
{
    public int Id {get;set;}
    public string Name {get;set;}
}

public class Image
{
    public int Id {get;set;}
    public int CategoryId {get;set;}
    public int TypeId {get;set;}
}

Przy takim zabiegu <select> po stronie HTMLa budujesz na podstawie listy kategorii, typów z bazy. Użytkownik będzie miał do wyboru nazwę kategorii, a wartością będzie jej identyfikator (id).

Tabela kategorii w bazie

ID Name
1 Krajobraz
2 Abstrakcyjne
3 Gry wideo

W przypadku gdy po czymś nie chcesz filtrować to musisz sobie to sam obsłużyć po stronie logiki. Na przykład - jeśli CategoryId == 0 to znaczy, że nie filtrujesz po kategorii.

Jeśli dojdą ci kategorie to wystarczy tylko dopisać wiersz w bazie.

0

@AdamWox:
Dzięki wielkie, zaraz tak zrobię
Jeśli chodzi o galerie to trzeba jakimś jsem robić nie?

1

Nie wiem czy komukolwiek się udało zrobić sensowną, działającą aplikacje webową bez JSa. Zawsze możesz próbować to osiągnąć, ale nie polecam. Jedno co polecam to pobaw się jakimś frameworkiem - angular, vue, react, może nawet Blazor. Omijaj szerokim łukiem jQuery ;-)

0

@AdamWox:
A wiesz może jaką komendą wyświetlę te wartości? bo szukam i nie mogę znaleźć alternatywy dla tego Html.GetEnumSelectList

1

Tworzysz sobie property (model), które przyjmuje listę np. kategorii, pobierasz tą listę na widoku i podpinasz pod asp-items albo w pętli na widoku generujesz każde <option> z osobna. Ja nie piszę w "czystym" MVC, czy RazorPages. Nie chce ci tutaj jakiś głupot pisać.

Select Lists in a Razor Pages Form

0

@AdamWox:
Nie działa mi to, znaczy jak robię to z samym wyświetlaniem to jest w porządku, ale jak dodam asp-for to nic mi nie wyświetla, ale i tak dzięki za poświęcony czas

w sumie to jakoś zaczęło mi wyświetlać tylko nie zapisuje mi tego do bazy, musze jeszcze jakoś to rozgryźć

0

@AdamWox:
A tak w sumie teraz myślę, że mnie te selectList nie ratuje, bo przy tworzeniu nowego obiektu on i tak będzie wybierał z bazy danych, a jeśli będzie mógł wybrać np. brak w type, to bez sensu. Mi chodzi o coś takiego, że w create mogę dodać np. w płeć kobieta i mężczyzna, i przy filtrowaniu chciałbym, żeby defaultowo nie było nic wybrane, ewentualnie jakieś brak którego w create bym nie miał,

0

Rozumiem, że to są twoje początki? A nie możesz dodać "zerowego" elementu, ręcznie, który będzie zawsze w każdym select, nie pobierany z bazy? 🤔 Na przykład Brak o wartości 0

#EDIT
Podczas tworzenia obiektu musisz mieć tylko to co z bazy. Element "zerowy" ma być tylko podczas filtrowania...

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