ASP.NET Lable中進(jìn)行換行解決方案
這個(gè)問(wèn)題,應(yīng)該算是很簡(jiǎn)單的問(wèn)題,可說(shuō)實(shí)在的,折騰了2個(gè)小時(shí)的時(shí)候,后面整出來(lái)的時(shí)候。現(xiàn)在把這個(gè)過(guò)程給大家,希望可以給大家一個(gè)提醒。
一、VB.NET ASP.NET問(wèn)題還原
當(dāng)我對(duì)一條數(shù)據(jù)進(jìn)行編輯的時(shí)候,我們進(jìn)入了編輯頁(yè)面,比如下面頁(yè)中的Work Araound字段

我對(duì)這些字段填了一些內(nèi)容。我通過(guò)回車,分成了一段一段,可是,當(dāng)我們保存這個(gè)編輯頁(yè)面的時(shí)候,結(jié)果如下:

可以很清楚看到顯示出來(lái)的值沒(méi)有分段。顯示效果很不友好。
解決方案:
關(guān)鍵字:vbCrLf(因?yàn)轫?xiàng)目需要,所以用的是VB.NET 以及VS2005,讓大家見(jiàn)笑了),我通過(guò)下面的代碼獲取到每當(dāng)你回車的時(shí)候,然后我就先獲取到回車符,然后再轉(zhuǎn)行成“|”,這樣一并存入數(shù)據(jù)庫(kù)。(其實(shí),這里有一個(gè)缺點(diǎn),就是“|” 成了一個(gè)不能用的一個(gè)字符了。)
Dim strTextArea As String = Replace(TextArea1.Value, vbCrLf, "|") 這句話等價(jià)于下面的:Dim strTextArea As String = TextArea1.Value.Replace(vbCrLf, "|")
接著,當(dāng)我們?cè)趶臄?shù)據(jù)庫(kù)讀取出來(lái)的時(shí)候,我們?cè)谟孟旅娴倪@個(gè)替換:
Label1.Text = strTextArea.Replace("|", "<br>")
然后,到這里就到了基本OK了。在中間的時(shí)候繞了一下,我們貌似得到了期望的結(jié)果。
其實(shí),這里面還有一個(gè)問(wèn)題,就是當(dāng)每一條都很長(zhǎng)的時(shí)候,就會(huì)出現(xiàn)下面的bug。看到?jīng)],超出的字段沒(méi)有進(jìn)行換行,很難看。

這個(gè)我們需要在當(dāng)前元素的父級(jí)元素加一個(gè)樣式就OK啦,就是word-break:break-all,然后就會(huì)自動(dòng)換行了。
<TD style="WIDTH: 451px; word-break:break-all">
<textarea id="txtReleaseNoteComment" cols="51" rows="10" runat="server" visible="false"></textarea>
<asp:Label ID="lbl_releaseNotedComment" runat="server" Text="" Visible="False" width="450px"></asp:Label>
</TD>
顯示的結(jié)果如下:

點(diǎn)評(píng):感覺(jué),繞了一個(gè)彎似的??墒?,就先這么用著吧,反正先提交再說(shuō)!
二、C# ASP.NET的情況呢
那處理就簡(jiǎn)單多了呢。環(huán)境:VS 2010
測(cè)試代碼:
<asp:TextBox ID="TextBox1" runat="server" Height="105px" TextMode="MultiLine"
Width="320px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
然后,我們?cè)贐utton那設(shè)置一個(gè)斷點(diǎn),

看上面,我沒(méi)有設(shè)置什么,就自動(dòng)的識(shí)別了 換行符號(hào):\r\n,那接下來(lái)就很好處理了:
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = TextBox1.Text.Replace("\r\n", "<br>");
}
就OK啦。

就可以了。
三、Winform
那在Winform中呢,那就更簡(jiǎn)單了,你都不需要處理,把的值直接賦值到textbox就OK啦。
label1.Text = textBox1.Text;

誒。你不得不感慨技術(shù)的先進(jìn)哦。
相關(guān)文章
使用Fiddler調(diào)試visual studion多個(gè)虛擬站點(diǎn)的問(wèn)題分析
本篇文章小編為大家介紹,使用Fiddler調(diào)試visual studion多個(gè)虛擬站點(diǎn)的問(wèn)題分析。需要的朋友參考下2013-04-04
javascript實(shí)現(xiàn)listbox左右移動(dòng)實(shí)現(xiàn)代碼
javascript實(shí)現(xiàn)listbox左右移動(dòng)實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-05-05
C#中使用SQLite數(shù)據(jù)庫(kù)的方法介紹
SQLite是一個(gè)開(kāi)源的輕量級(jí)的桌面型數(shù)據(jù)庫(kù),它將幾乎所有數(shù)據(jù)庫(kù)要素(包括定義、表、索引和數(shù)據(jù)本身)都保存在一個(gè)單一的文件中。SQLite用C編寫實(shí)現(xiàn),它在內(nèi)存消耗、文件體積、操作性能、簡(jiǎn)單性方面都有不錯(cuò)的表現(xiàn)2012-01-01
.NET Core 中實(shí)現(xiàn)異步編程并提升性能的操作方法
在.net core中異步編程主要通過(guò)async和await關(guān)鍵字來(lái)實(shí)現(xiàn),結(jié)合Task類進(jìn)行異步操作的管理,這篇文章主要介紹了.NET Core 中實(shí)現(xiàn)異步編程并提升性能的操作方法,需要的朋友可以參考下2024-12-12
asp.net 動(dòng)態(tài)添加多個(gè)用戶控件
動(dòng)態(tài)添加多個(gè)相同用戶控件,并使每個(gè)用戶控件獲取不同的內(nèi)容。2009-12-12

