2009-08-07 21 views

Odpowiedz

1

Spróbuj tego:

<%= Ajax.ActionLink("f<br />lastname", ...more stuff 
+1

Być może będziesz musiał p to w @ Html.Raw te dni. –

0

Nie można używać <br /> ponieważ metoda actionlink (i rzeczywiście wierzę wszystkie metody html i przedłużających ajax) zakodować ciąg. Tak więc, wyjście byłoby coś

<a href="...">f&lt;br /&gt;lastname</a> 

Co można spróbować zamiast byłby formatowania:

<%= string.Format(Ajax.ActionLink("f{0}lastname", ...more stuff), "<br />") %> 
+0

Darn nie działa. To sprawia, że ​​mam ... "System.Web.HttpCompileException był nieobsługiwany przez kod użytkownika błąd CS1010: Newline w stałej" – Whozumommy

+0

Hmm, próbując używać .Replace zamiast string.format? Tak naprawdę nie pracowałem z rozszerzeniami ajax, więc nie znam innego sposobu na to. – Joel

0

\n wykorzystywane do pracy dla mnie. Ale teraz wydaje się być zdeprawowany. Alternatywnie można użyć metody NewLine, na przykład:

string jay = "This is a" + Environment.NewLine + "multiline" + Environment.NewLine + "statement"; 
0

Czy próbowałeś kombinacji \ r \ n?

3

Być może trzeba przywrócić robi coś takiego:

<a href="<%= Url.Action("action") %>">f<br />last</a> 

A potem drutu w bitach Ajax ręcznie.

0

Jak o:

<%= Server.UrlDecode(Ajax.ActionLink(Server.UrlEncode("f<br/>lastname"), ...more stuff 
0

Działa to dla mnie -

<%= HttpUtility.HtmlDecode(Html.ActionLink("AOT &lt;br/> Claim #", "actionName"))%> 
0

myślę odpowiedź Andrew Hare jest poprawna. Jeśli masz nieco bardziej skomplikowane wymagania, masz możliwość utworzenia własnego AjaxHelper lub HtmlHelper. Będzie to wymagało stworzenia metod niestandardowych rozszerzeń, które działają na AjaxHelper i HtmlHelpers, robiąc coś takiego:

public static class CustomHtmlHelperExtensions 
{ 
    public static MvcHtmlString FormattedActionLink(this HtmlHelper html, ...) 
    { 
     var tagBuilder = new TagBuilder("a"); 

     // TODO : Implementation here 

     // this syntax might not be exact but you get the jist of it! 
     return MvcHtmlString.Create(tagBuilder.ToString()); 
    } 
} 

Można użyć dotPeek lub ulubionego narzędzia .NET refleksji do zbadania standardowe rozszerzenia, które pochodzą z ASP.NET MVC (np. ActionLink) itp., aby dowiedzieć się, w jaki sposób Microsoft wdrożył większość z tych metod rozszerzenia. Mają dość dobre wzorce do pisania tych. W przeszłości podjąłem takie podejście, aby uprościć generowanie kodu HTML w czytelny sposób, na przykład w przypadku Google Maps lub integracji Bing Maps, w celu utworzenia opcji, takich jak ActionImage, np. @Html.ActionImage(...) lub w celu zintegrowania wyprowadzania HTML w formacie tekstylnym poprzez umożliwienie składni takiej jak @Html.Textile("textile formatted string").

Jeśli zdefiniujesz to w oddzielnym zestawie (tak jak ja), pamiętaj o włączeniu go do referencji projektu, a następnie dodaj go również do pliku Web.config projektu.

Oczywiście, podejście to jest przesadą dla twoich konkretnych celów iz tego powodu mój głos jest dla podejścia Andrew Hare do twojego konkretnego przypadku.

0

Minęło kilka lat, odkąd zadano pytanie, ale miałem z tym problem.Uważam, że odpowiedź będzie (w MVC):

Tekst w actionlink ... actionlink ("TextLine1" + Environment.Newline + "TextLine2" ...

W actionlink, mają Klasa, która wskazuje na css z tej linii:

spacji. pre;

to wszystko widziałem odpowiedzi gdzie włożyli całą Actionline w < pre> </pre> znaczniki, ale to spowodowane więcej problemy niż rozwiązane.

Powiązane problemy