• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[ASP.NET] Aktywne menu

Object Storage Arubacloud
0 głosów
349 wizyt
pytanie zadane 13 lutego 2018 w C# przez HDRGXS Początkujący (470 p.)

Dobry wieczór wszystkim ^^

Kilka dni temu zacząłem zabawę z ASP i jedną z pierwszych rzeczy, które chciałem zrobić to aktywne menu. Pod tym określeniem rozumiem, że przy przejściu na konkretną podstronę do elementu menu dodawana jest klasa active.

Zmodyfikowałem standardowy kod menu generowany przez visual studio w taki sposób:

<li class="
  @if (ViewData["Title"].ToString() == "Contact")
  {
    <text>active</text>
  }
">
  <a asp-area="" asp-controller="Home" asp-action="Contact">Contact</a>
</li>

ViewData["Title"] przechowywane jest w Contact.cshtml w folderze widoku. Przypuszczam, że mimo działania tej metody, jest ona nie najlepsza. Chciałbym poznać lepsze rozwiązania tego problemu w ASP, oraz dowiedzieć się czemu ta metoda nie sprawdza się najlepiej. Ponadto, jak przypuszczam lepiej byłoby wykonać to wykorzystując js. Chciałbym też poznać waszą opinię w tej drugiej sprawie.

Pozdrawiam smiley

komentarz 14 lutego 2018 przez Secrus Nałogowiec (32,880 p.)
Skąd uczysz się ASP.NET?
komentarz 14 lutego 2018 przez HDRGXS Początkujący (470 p.)
Dokumentacja MS'a, szkolenia linkedin i kilka innych stron. Mam jeszcze zamiar wykorzystać kilka innych źródeł. Ale ogólnie wszystko co MS oferuje + podstawy które do tej pory zdobyłem pracując w innych językach.

2 odpowiedzi

+1 głos
odpowiedź 14 lutego 2018 przez achilles147 Dyskutant (9,580 p.)
wybrane 23 marca 2018 przez HDRGXS
 
Najlepsza

Cześć,

Tutaj masz odpowiedź jak to można zrobić w trochę ładniejszy sposób 

https://stackoverflow.com/questions/20410623/how-to-add-active-class-to-html-actionlink-in-asp-net-mvc

 

czyli korzystasz z ViewVontext.RouteData żeby pobrać nazwę akcji z której został wyrenderowany widok a następnie porównujesz ją z konkretnym linkiem żeby mu nadać klasę :)

 

<ul class="nav navbar-nav">
    <li class="@(ViewContext.RouteData.Values["Action"].ToString() == "Index" ? "active" : "")">@Html.ActionLink("Home", "Index", "Home")</li>
    <li class="@(ViewContext.RouteData.Values["Action"].ToString() == "About" ? "active" : "")">@Html.ActionLink("About", "About", "Home")</li>
    <li class="@(ViewContext.RouteData.Values["Action"].ToString() == "Contact" ? "active" : "")">@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>

 

komentarz 14 lutego 2018 przez HDRGXS Początkujący (470 p.)
A no ładniej to wygląda i przy zastosowaniu heleperów może być naprawdę fajne. Ale może są jeszcze jakieś inne metody ^^
0 głosów
odpowiedź 15 lutego 2018 przez HDRGXS Początkujący (470 p.)
może jest ktoś kto mógłby się jeszcze wypowiedzieć w tej sprawie ^^

Podobne pytania

0 głosów
1 odpowiedź 249 wizyt
pytanie zadane 2 marca 2020 w C# przez Moras Obywatel (1,620 p.)
0 głosów
1 odpowiedź 401 wizyt
pytanie zadane 20 lutego 2018 w C# przez tomek2323 Bywalec (2,050 p.)
0 głosów
1 odpowiedź 247 wizyt
pytanie zadane 10 lutego 2018 w C# przez tomek2323 Bywalec (2,050 p.)

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...