Html.Action w Core 2.1 MVC

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!

1

@Url.Action(...)

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...

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

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)?

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