2010-11-23 16 views
1

J'ai une aide html qui prend une adresse brisée et la formate, mais je vois la balise réelle <br /> comme un texte au lieu d'un saut de ligne sur ma page Web. Qu'est-ce que je fais qui cause cela?Pourquoi la balise de saut de ligne s'affiche-t-elle sous forme de texte à partir d'une Helt Html personnalisée asp.net mvc

est ici une partie de ma méthode d'assistance

public static HtmlFormatAddress(this helper, string number 
    , string fraction 
    , string direction 
    , string street 
    , string type 
    ....) 
{ 
    var sb = new StringBuilder(); 
    if (!string.IsNullOrEmpty(number)) 
     sb.Append(number.Trim() + " "); 
    if (!string.IsNullOrEmpty(fraction)) 
     sb.Append(fraction.Trim() + " "); 
    if (!string.IsNullOrEmpty(direction)) 
     sb.Append(direction.Trim() + " "); 
    if (!string.IsNullOrEmpty(street)) 
     sb.Append(street + " "); 
    if (!string.IsNullOrEmpty(type)) 

    if (sb.Length > 0) 
     sb.Append("<br />"); 
    ..... 
    return sb.ToString(); 
} 

Répondre

3

Si cela est MVC2/ASP.NET 4, vous devez retourner un MvcHtmlString au lieu de String

Sinon, assurez-vous que vous ne codant pas pour la sortie avec <%: %> mais au lieu d'utiliser <%= %>

+0

Merci Andrew. C'était ça. – zSynopsis

+0

Vous êtes les bienvenus :) –

1

vous utilisez probablement la syntaxe <%: %> qui code pour la chaîne.

Essayez d'utiliser à la place <%= %>

ou modifier le type de retour à MvcHtmlString qui ne vous obliger à écrire return MvcHtmlString.Create(sb.ToString());