2009-10-10 7 views
16

muszę tekst linku owinięty <span> jak w:ASP.NET MVC: jak dołączyć <span> w łączu z Html.ActionLink?

<a href="/foo.html"><span>Edit Group</span></a> 

mogę zrobić z Html.ActionLink? To nie działa:

<%=Html.ActionLink("<span>Edit Group</span>", "Edit", New With {.id = "bar"})%> 

To właśnie koduje HTML w < i > jako &lt; i &gt;.

Czy istnieje proste rozwiązanie, czy też powinienem budować linki ręcznie za pomocą Url.Action?

Ta karta jest przeznaczona do użytku z zakładkami jQuery-UI. Aby uzyskać animację podczas wczytywania treści AJAX, etykiety kart muszą być zawijane w <span>.

Odpowiedz

10

Będziesz musiał to zrobić z Url.Action, o ile wiem, nie ma mowy o Html.ActionLink.

+0

dziękuję miło jasne moje wątpliwości – Rakeshyadvanshi

21

Możesz użyć metody pomocnika Url.Action jako obejścia (w przypadku, gdy żadne inne odpowiedzi lepiej nie odpowiadają Twoim potrzebom).

Na przykład, następujące mogą być zaznaczone w widoku:

<a href="<%= Url.Action("Edit", 
         New With {.id = "bar"}) %>"> 
<span>Edit Group</span> 
</a> 
+0

Dzięki. Tak, właśnie to zrobiłem. – royco

9

Można także toczyć własne HtmlHelper metodę rozszerzenia, faktycznie wolę tę metodę, jak można kontrolować położenie identyfikatorów, zajęcia i inne atrybuty, takie jak tytuł.

Oto zestaw blog post, który przygotowałem na ten temat.

+0

To jest niesamowite. Ale szczerze, zespół [Razor] (https://github.com/aspnet/Razor/issues/248) musi zdać sobie sprawę z tego, że istnieje odpowiedni popyt na tego rodzaju dostosowywanie w łączu, i powinni rozważyć udostępnienie opcji dla 'Raw (_) link "renderowanie w działaniu". –

+0

Czy zapoznałeś się z TagHelpers? http://channel9.msdn.com/Shows/Web+Camps+TV/Create-your-own-Domain-Specific-Language-in-ASPNET-with-TagHelpers –

3

Co o tym:

@{ 
    var link = Html.ActionLink("{0}", "Edit", New {id = "bar"}).ToString(); 
    var url = string.Format(link, "<span>Edit Group</span>"); 
} 

@Html.Raw(url); 

// NICE Hack: Poleca używać poprzedniej porady i napisać pomocnika do zawijania to w górę.

Powiązane problemy