MVC i CRUD oparty na PartialView

MVC i CRUD oparty na PartialView
J7
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 9 lat
0

Witam,

Mam w swojej aplikacji jeden widok wyświetlający listę danych obiektów i chciałbym do niego stworzyć CRUD'a, jednak nie takiego typowego że dla każdej funkcji osobny widok lecz aby podczas próby dodania nowego obiektu do listy wyświetlał się nad nią formularz do dodawania, gdy np przejdziemy w stan edycji jednego z obiektów to zamyka się formularz dodania a jeden z obiektów w liście ma uruchomione pola edycji (tak jak to działało w kontrolkach asp gdy obiekt przechodził w stan edycji), a gdy usunę obiekt to nad cala lista wyświetli się komunikat czy oby na pewno tego chcę.

Chciałem wszystko rozdzielić na poszczególne PartialView jednak moje różne kombinacje kończyły się na problemie który musiałbym brzydkim sposobem obejść, np walidacja po stronie klienta z która jest problem gdy JavaScript przestanie działać, albo jak przesłać stan aktualnego widoku tzn. informacja czy stan widoku jest w formacie edycji jakiegoś obiektu czy w stanie tworzenia nowego. Próbowałem ten stan zapisać w zmiennej static jednak gdy powracam z innej podstrony na ten widok to nie mam możliwości wyzerowania tego stanu.

Może jest jakiś sposób ładniejszy od szablonowego CRUD'a który ładnie pozwala operować bez przechodzenia przez różne widoki tak aby to działo się wszystko na jednym płótnie?

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:Wrocław
0

Bez JavaScriptu i tak tego nie zrobisz, kontrolki WebFormsowe przecież też go używały na potęgę.

Ja bym nie kombinował z dynamicznym wyświetlaniem PartialView, raczej napisałbym skrypty, które pokazują bądź ukrywają odpowiednie kontrolki edycyjne wraz z przyciskami, które wywołują ajaxowe żądania do kontrolera.

J7
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 9 lat
0

No ok wszystko fajnie tylko że moja aplikacja przewiduje możliwość wyłączenia JS i co wtedy? ;) Mam nadzieje że jest inny sposób niż rożne widoki dla rożnych opcji

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:Wrocław
0

Chcesz ukrywać i pokazywać poszczególne elementy strony bez użycia JavaScriptu? Chyba się da, ale będzie okropne dla użytkownika.
Skoro przewidujesz możliwość pracy bez JS, to lepiej zrobić oddzielne widoki dla każdej funkcji.

J7
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 9 lat
0

czyli nie ma sensu bawić się w żadne "if'y" i partiale aby je ukrywać? mam pomysł żeby do widoku przesyłać klasę która będzie reprezentować co ma siędziać w danym momencie oraz listę tych obiektów.
Co o tym sadzisz, to trochę mój pomysł na to rozwiązanie ale czy to będzie dobre?

Kopiuj
 
public class TemplateCRUD
{
    public int id; { get; set; }
    public string status; { get; set; } //edit, create, delete, read
    public List<object> obiects { get; set; };
}
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:Wrocław
1

Nie mówię, że nie ma sensu. To po prostu nie będzie takie fajne i dynamiczne jak z JS. :)
Natomiast sam pomysł ze sterowaniem widocznością elementów na stronie przez status jest ok. (Chociaż ja bym to raczej nazwał trybem pracy, i zrobił do tego enum, a nie string.)

J7
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 9 lat
0

powiem szczerze dobry pomysł z tym enum jednak kombinuje na różne sposoby i nijak nie qiwm jak to zrobić mniej więcej rozumiem jak to działa jednak nie potrafie tego jakoś sensowni ewdrożyć, ja ty to widzisz?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.