2010-12-03 8 views
0
public string BannerText {get;set;} 

public void SetBanner() 
{ 
    BannerText = "This is line 1. \nThis is line 2." 
} 

in der aspx Seite ich es so setze:html Helfer Texteingabe und Zeilenumbruch

<div> 
    <h1><%: Model.BannerText %></h1> 
</div> 

Allerdings zeigt der Text noch in einer einzigen Zeile nach oben. Ich habe versucht, <br /> und <br> als gut, aber das scheint nicht zu funktionieren. Ich bin sicher, es hat etwas einfach zu sein, müssen aber SO :)

EDIT helfen: Kirk Woll und Mike Vorschlag gearbeitet! verwenden: <h1><%= Model.BannerText %></h1>

+0

Das sieht gut für mich aus ... In Ihrem realen Code (vorausgesetzt, dass vereinfacht ist) sind Sie sicher, ClientName ist festgelegt, wenn Sie BannerText zuweisen? – Mike

Antwort

1

Was ist "<%:"? Das habe ich vorher nicht gesehen. Haben Sie "<%=" ausprobiert? Dies wird einen HTMLTextWriter verwenden, um die zu rendernde Zeichenfolge zu übergeben. Dann verwenden Sie einfach HTML (<br />) in Ihrer Zeichenfolge.

+0

+1 danke, dass es geschafft hat! – VoodooChild

+1

http://haacked.com/archive/2009/11/03/html-encoding-nuggets-aspnetmvc2.aspx –

2

Erstens, \n wird absolut nicht funktionieren. Das ist HTML. Sie müssen <br /> verwenden (oder wickeln Sie sie in <div>, etc.). der Zweck <%: ist (im Gegensatz zu <%=) jedoch die Zeichenfolge in HTML-Codierung. Vermutlich werden also Ihre Zeilenumbrüche (<br />) verschlüsselt. Sie sollten versuchen, <%= statt und sehen, ob das das Problem behebt.

+0

+1: danke das hat es getan. – VoodooChild

Verwandte Themen