ASP.NET Lable中進行換行解決方案_實用技巧

來源:互聯網
上載者:User

這個問題,應該算是很簡單的問題,可說實在的,折騰了2個小時的時候,後面整出來的時候,真坑爹呢。現在把這個過程給大家,希望可以給大家一個提醒。

一、VB.NET ASP.NET問題還原

當我對一條資料進行編輯的時候,我們進入了編輯頁面,比如下面頁中的Work Araound欄位

我對這些欄位填了一些內容。我通過斷行符號,分成了一段一段,可是,當我們儲存這個編輯頁面的時候,結果如下:

可以很清楚看到顯示出來的值沒有分段。顯示效果很不友好。

解決方案

關鍵字:vbCrLf(因為項目需要,所以用的是VB.NET 以及VS2005,讓大家見笑了),我通過下面的代碼擷取到每當你斷行符號的時候,然後我就先擷取到斷行符號符,然後再轉行成“|”,這樣一併存入資料庫。(其實,這裡有一個缺點,就是“|” 成了一個不能用的一個字元了。)

複製代碼 代碼如下:

Dim strTextArea As String = Replace(TextArea1.Value, vbCrLf, "|") 這句話等價於下面的:Dim strTextArea As String = TextArea1.Value.Replace(vbCrLf, "|")

接著,當我們在從資料庫讀取出來的時候,我們在用下面的這個替換:
複製代碼 代碼如下:

Label1.Text = strTextArea.Replace("|", "<br>")

然後,到這裡就到了基本OK了。在中間的時候繞了一下,我們貌似得到了期望的結果。

其實,這裡面還有一個問題,就是當每一條都很長的時候,就會出現下面的bug。看到沒,超出的欄位沒有進行換行,很難看。

這個我們需要在當前元素的父級元素加一個樣式就OK啦,就是word-break:break-all,然後就會自動換行了。

複製代碼 代碼如下:

<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>

顯示的結果如下:

點評:感覺,繞了一個彎似的。可是,就先這麼用著吧,反正先提交再說!

二、C# ASP.NET的情況呢

那處理就簡單多了呢。環境:VS 2010

測試代碼:

複製代碼 代碼如下:

<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>

然後,我們在Button那設定一個斷點,

看上面,我沒有設定什麼,就自動的識別了 分行符號號:\r\n,那接下來就很好處理了:

複製代碼 代碼如下:

protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = TextBox1.Text.Replace("\r\n", "<br>");
}

就OK啦。

就可以了。

三、Winform

那在Winform中呢,那就更簡單了,你都不需要處理,把的值直接賦值到textbox就OK啦。

複製代碼 代碼如下:

label1.Text = textBox1.Text;

誒。你不得不感慨技術的先進哦。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.