2015-08-24 30 views
1

我想在數據列表中顯示一些信息。 我無法控制只有aspx文件背後的代碼。使用以下代碼。但是,如果ToolTipText是多行,它將在頁面上顯示爲一行。有沒有辦法讓它顯示爲多行?中繼器中的ASP標籤顯示html標籤

<asp:DataList id="ThumbnailListViewData" runat="server" EnableViewState="false" RepeatLayout="Flow" RepeatDirection="Horizontal"> 
    <ItemTemplate> 
     //othervalues 
     <%# DataBinder.Eval(Container.DataItem, "ToolTipText") %> 
    <asp:DropDownList runat=server ID="QtyDropDown" Visible=false onkeydown="if (event.keyCode == 13){return false;}" /> 
    </ItemTemplate> 
</asp:DataList> 

在數據列表中的數據從現場獲取的ToolTipText在我們的系統的後端。換行符不會被保存。我嘗試添加
但這顯示爲html標籤

+1

可能的重複[在HTML中渲染字符串並保留空格和換行符](http://stackoverflow.com/questions/9492249/render-a-string-in-html-and-preserve-spaces-and -newlines) –

回答

0

實質上重複的

Render a string in HTML and preserve spaces and newlines

附上的文字span並設置空格處理。 像:

<span style="white-space: pre-wrap;"> 
    <%# DataBinder.Eval(Container.DataItem, "ToolTipText") %> 
</span> 

編輯

如果你沒有在文本換行的,你只需要自動換行到指定的寬度必須指定塊元素的寬度 - 這樣的:

<div style="width:40px"> 
    <%# DataBinder.Eval(Container.DataItem, "ToolTipText") %> 
</div> 

如果你的文本可以包含不喜歡UnBelievableLongWordForNoObviousReason空間有些長單詞等,你可能需要設置自動換行策略 - 樣:

<div style="width:40px;word-wrap: break-word"> 
    UnBelievableLongWordForNoObviousReason 
</div> 
+0

這不起作用,因爲datalist中的tooltiptext不包含換行符 –