Mam dwa pytania:
- Zastanawiam się, jak mogę wyświetlać brak tekstu łącza podczas używania
Html.ActionLink()
w widoku MVC (w rzeczywistości jest toSite.Master
).
Nie ma przeciążonej wersji, która nie zezwala na tekst linku, a kiedy próbuję przekazać tylko puste miejsce string
, kompilator mówi mi, że potrzebuje niepustego ciągu.
Jak mogę to naprawić?
Muszę umieścić
<span>
tagi w tagu kotwicy, ale to nie działaHtml.ActionLink();
. Chciałbym zobaczyć następujące dane wyjściowe:Tekst obejmujący
Jak mogę umieścić tagi wewnątrz tagu kotwicy w ASP.NET MVC?
c#
.net
asp.net-mvc
actionlink
MegaMatt
źródło
źródło
<li>
widzisz konkretny przycisk nawigacyjny (z rozmiarem, pozycją w tle itp. Określonymi w arkuszu stylów CSS). Ale musi do czegoś prowadzić, więc nie chcę wyświetlać tekstu. Chcę, żeby duszek zrobił to za mnie.Odpowiedzi:
Zamiast używać Html.ActionLink, możesz wyrenderować adres URL za pomocą Url.Action
I zrobić pusty adres URL, który możesz mieć
źródło
<a [email protected]("Create", "Product")><span>Create</span></a>
również działa. Cytaty nie są wymagane.Inną opcją jest niestandardowe rozszerzenie HtmlHelper. Uwaga : ParameterDictionary to mój własny typ. Możesz zastąpić RouteValueDictionary, ale musisz to skonstruować inaczej.
źródło
Oto (słabe i brudne) obejście na wypadek, gdybyś musiał użyć Ajax lub jakiejś funkcji, której nie możesz użyć podczas tworzenia linku ręcznie (przy użyciu tagu):
Możesz użyć dowolnego tekstu zamiast „LinkTextToken”, jest on tylko do zastąpienia, ważne jest tylko, aby nie pojawiał się nigdzie indziej wewnątrz actionlink.
źródło
Html.Raw()
date-
atrybutów, jest to dla mnie najlepsze rozwiązanie. +1Po prostu użyj
Url.Action
zamiastHtml.ActionLink
:źródło
To zawsze działało dobrze dla mnie. Nie jest brudny i bardzo czysty.
<a href="@Url.Action("Index", "Home")"><span>Text</span></a>
źródło
Skończyło się na niestandardowej metodzie rozszerzenia. Warto zauważyć, że podczas próby umieszczenia kodu HTML wewnątrz obiektu Anchor tekst linku może znajdować się po lewej lub po prawej stronie wewnętrznego kodu HTML. Z tego powodu zdecydowałem się podać parametry dla lewego i prawego wewnętrznego kodu HTML - tekst linku znajduje się pośrodku. Zarówno lewy, jak i prawy wewnętrzny kod HTML są opcjonalne.
Metoda rozszerzenia ActionLinkInnerHtml:
Przykład użycia:
Oto przykład użycia. W tym przykładzie chciałem, aby wewnętrzny kod HTML znajdował się po prawej stronie tekstu linku ...
Wyniki:
skutkuje to następującym kodem HTML ...
źródło
Pomyślałem, że może to być przydatne podczas korzystania z bootstrapa i niektórych glypiconów:
Spowoduje to wyświetlenie tagu A z linkiem do kontrolera, z ładną ikoną spinacza, która reprezentuje łącze pobierania, a wyjście html jest utrzymywane w czystości
źródło
Oto dodatkowe rozszerzenie odpowiedzi @ tvanfosson. Zainspirował mnie to i postanowiłem uczynić go bardziej ogólnym.
źródło
To jest bardzo proste.
Jeśli chcesz mieć coś w rodzaju ikony glifu, a następnie „Lista życzeń”,
źródło
Moje rozwiązanie wykorzystujące komponenty bootstrap:
źródło
Wypróbuj poniższy kod, który może ci pomóc.
źródło