Html.Action w Core 2.1 MVC

Odpowiedz Nowy wątek
2019-04-12 15:09
0

Witajcie
Mój problem jest taki, że chcę w widoku pobrać wartość z kontrollera dla Przykładu

        public int GetCartCount()
        {
            return Manager.GetCounts();
        }

Kiedyś mogłem to zrobić za pomocą html.Action , który zwracał samą wartość
Teraz jest ActionLink, który zwraca wartość ale opakowaną w tag "a".
Właśnie tego tagu chcę uniknąć. Pobrać samą wartość.
Kombinuję tak dlatego, że mam ostylowany znacznik "a" i to mi po prostu wszystko psuje.

Pozdrawiam!

Pozostało 580 znaków

2019-04-12 17:37
1

@Url.Action(...)

edytowany 1x, ostatnio: WeiXiao, 2019-04-12 17:38

Pozostało 580 znaków

2019-04-15 12:20
0

@WeiXiao No tak się składa, że to zwraca mi do widoku link do akcji w kontrolerze a ja potrzebuję już wartości, którą zwraca ten kontroler... Pewnie to banalnie proste ale nie mam kompletnie pomysłu.

Zdaje sobie sprawę, że mogę to na początku pobierać i podawać w viewmodelu ale chciałbym żeby podczas ładowania strony szło zapytania do kontrolera...

edytowany 1x, ostatnio: Phoryn, 2019-04-15 12:51

Pozostało 580 znaków

2019-04-15 13:32
0

W Core nie ma już Html.Action - teraz są ViewComponents: https://stackoverflow.com/que[...]4/html-action-in-asp-net-core ;)
Link do dokumentacji: https://docs.microsoft.com/pl[...]omponents?view=aspnetcore-2.2
W skrócie o co chodzi: https://www.davepaquette.com/[...]ns-hello-view-components.aspx

edytowany 3x, ostatnio: nobody01, 2019-04-15 13:39

Pozostało 580 znaków

2019-04-16 00:35
0

@nobody01
No akurat już operowałem w ViewComponentach(akurat mi się niezbyt podobają tak swoją drogą). Ciekawi mnie jak wygląda to wydajnościowo w stosunku do html.Action gdzie od razu można było pobrać jedną wartość. Tak btw. Może masz jakiś lepszy sposób na katalogowanie viewcomponentów?
Pozdrawiam

Pozostało 580 znaków

2019-04-16 13:40
0

O ile się nie mylę, komponenty widoków są bardziej wydajne od child actions, bo nie trzeba przechodzić przez cały pipeline akcji kontrolera, aby dostać to co trzeba.

Jeśli chodzi o katalogowanie komponentów, to tak jak w dokumentacji: tworzysz sobie folder ViewComponents, gdzie wrzucasz komponenty, potem w folderze Views/Shared tworzysz folder Components, następnie podfoldery z nazwami komponentów i w końcu "widoki" Default.cshtml. Jeśli masz problem z utrzymywaniem tych wszystkich kontrolerów, komponentów, widoków i modeli, to może warto pomyśleć o zastosowaniu areas (czy tam feature folders)?

edytowany 2x, ostatnio: nobody01, 2019-04-16 13:43

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