Witajcie
tworzę menu jak poniżej
<ul>
<li>@Html.ActionLink("Users", "UsersList", "Account")</li>
<li>@Html.ActionLink("Properties", "PropertiesList", "Property")</li>
<li>@Html.ActionLink("Orders", "OrdersList", "Order")</li>
</ul>
statyczne w pliku _Layout.chtml. Chciałbym uzyskać następujący efekty:
a. zaznaczenie poprzez odpowiedni kolor linka w który wszedłem i "aktualnie przebywam"
b. jeśli ręcznie wpiszę jakiś adres w przeglądarkę to odpowiedni link z menu zmieni się jak wyżej.
I tak, w necie znalazłem rozwiązania z częściowym widokiem, które owszem działają ale tylko dla pkt. a; albo źle szukałem.
Stworzyłem "własne rozwiązanie", które działa dla pkt a i b, ale kod nie bardzo mi się widzi, w pliku _Layout.cshtml odczytuję powiedzmy controller z adresu URL
@if ((string)ViewContext.RouteData.Values["Controller"] == "Account")
{
<li>@Html.ActionLink("Users", "UsersList", "Account", null, new { @style = "color: orange;" })</li>
}
else
{
<li>@Html.ActionLink("Users", "UsersList", "Account")</li>
}
Działa tak jak chcę ale ... dwa razy wypisuje niby to samo i dodaję styl. Czy da się to jakoś prościej zrobić?
Dzięki za ewentualne uwagi.