2 takie same metody w 2 kontrolerach

Odpowiedz Nowy wątek
2018-10-29 14:37
Mały Orzeł
0

Pisze aplikacje w c# asp.net mvc. Potrzebuje uzyc 1 prywatna metode w 2 roznych kontrolerach, jak to najlepiej zrobic? Jesli w kazdym z tych 2 kontrolerow zdefiniuje taka sama metode to chyba nie bedzie to najlepsze rozwiazanie?

Pozostało 580 znaków

2018-10-29 14:38
3

Rozwiąż to za pomocą dziedziczenia. Zdefiniuj klasę z tą metodą i niech ta klasa dziedziczy od BaseController, czy co tam MVC od M$ ma. Teraz niech kontrolery dziedziczą od tejże nowej klasy i problem rozwiązany.

edytowany 2x, ostatnio: grzesiek51114, 2018-10-29 14:40

Pozostało 580 znaków

2018-10-29 14:39
1
Mały Orzeł napisał(a):

Pisze aplikacje w c# asp.net mvc. Potrzebuje uzyc 1 prywatna metode w 2 roznych kontrolerach, jak to najlepiej zrobic? Jesli w kazdym z tych 2 kontrolerow zdefiniuje taka sama metode to chyba nie bedzie to najlepsze rozwiazanie?

No raczej nie będzie to dobre. Zrób sobie jakiś service z którego będą korzystały oba kontrollery.

Service'y są też w asp net? Wydawało mi się, że to angularowe pojęcie - AdamWox 2018-10-29 15:00
Miałem na myśli klasę np ProductService, która byłaby wstrzyknięta do kontrollerów. - szydlak 2018-10-29 15:02
@AdamWox: "serwis" to po prostu nazwa na klasę, która coś robi (w porównaniu do, przykładowo, DTO, które są tylko pojemnikami na dane). Nie są one ani Angular-specific, ani ASP-specific. - Patryk27 2018-10-29 15:03
Zasada działania podobna, albo nawet identyczna. Zwyczajnie pierwszy raz o tym czytam i nie byłem pewny - AdamWox 2018-10-29 15:04

Pozostało 580 znaków

2018-10-29 15:02
2

Dla mnie za mało danych.
Ja podejrzewam, że po prostu w kontrolerze znalazł się kod, którego tam nie powinno być.
Pewnie powinien być w osobnej klasie, albo w klasie modelu, albo ... .


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

2018-10-29 15:13
2

Jak @grzesiek51114 napisał.
Typowy kontroler asp.net mvc dziedziczy po klasie Controler.
Robisz jakiś BaseControler dziedziczący po Controler i tam wstawiasz tę metodę.
Potem kontrolery właściwe, dziedziczące po BaseControler.

Oczywiście przy założeniu, że to kod, który w ogóle powinien być w kontrolerach.

Pozostało 580 znaków

2018-10-30 07:56
Mały Orzeł
0

Ok, dzieki za pomoc.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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