2008-11-21 4 views
12

In HTML in der td einer Tabelle können Sie Text mit <BR> zwischen den Wörtern zu brechen. Dies funktioniert auch im HeaderText eines TemplateItem, aber nicht im HeaderText eines BoundFields. Wie teile ich den Header-Text eines BoundFields auf?Wie kann ich die HeaderText des a BoundField brechen

Antwort

26

Set HtmlEncode = false innerhalb des BoundField

<asp:BoundField DataField="SomeDataField" 
     HeaderText="SomeHeader<br />(OtherData)" 
     HtmlEncode="false" /> 

BoundField.HtmlEncode ist standardmäßig wahr, was bedeutet, dass, wenn HTML in den Text eingefügt wird codiert werden.
Wenn HtmlEncode auf false festgelegt ist, wird der Text nicht codiert und das br funktioniert wie erwartet. Leider ist es nicht möglich, dies nur für den Kopftext zu spezifizieren, sondern auch den Inhalt der Zelle.

+0

+1: Ich vermisste diese kleine Eigenschaft und war auf der Suche nach ernsthaften Hacks. Danke :) – naveen

+0

Dies wird natürlich die tatsächliche Feldtextanzeige durcheinander bringen (wenn es Dinge hat, die wie HTML aussehen, einschließlich '&'), also Vorsicht. Vor allem, wenn das Raster vom Benutzer bereitgestellte Daten anzeigt, weil Sie sich für einen Injektionsangriff öffnen. –

-1

Für diejenigen von Ihnen versucht, dies zu tun, ohne HtmlEncode zu deaktivieren, es ist ziemlich einfach, wenn ein wenig albern aussieht. Verwenden Sie einfach einen echten Zeilenumbruch. Wie so ...

<asp:BoundField DataField="ProposedExtractionStartDate" HeaderText="Proposed 
         Extraction Start Date" SortExpression="ProposedExtractionStartDate" DataFormatString="{0:MM/dd/yyyy}" /> 

Das wird tatsächlich als Multi-Line herauskommen, wenn das HTML rendert.

Wenn es eine Zeichenkombination gibt, die dies bedeutet, würde ich es gerne wissen.

Verwandte Themen