1. 使用者利用textbox輸入文字。
2. 按下送出後,存入資料庫中。
3. 利用label秀出內容,讓其他使用者瀏覽。
這樣的情境非常多,幾乎每一個案子都會需要這種簡單的表單功能,
而其中通常會有某些類似"備註"的欄位,讓使用者可以任意的輸入多行文字。
所以理想狀況下,我們必須要忠實呈現輸入的內容,
如果我們在顯示內容時還是使用textbox,則textbox會幫你處理換行的問題,
但如果使用label來顯示內容就會發現,該內容並沒有依照預期的換行顯示。
所以該怎麼做?可以分成兩個部份來說明:
1. 存入MS SQL裡面的換行符號為:CHAR(10)、CHAR(13),
可以利用
SELECT * FROM Table WHERE UserMessage LIKE '%' + CHAR(10) + '%'
來確定是否有換行符號的寫入。2. 想要在Label裡面出現換行的效果,必須要使用HTML的語法,也就是<br/>。
所以必須要利用取代的方式來改變從資料庫讀取出來的內容:
ShowString.Replace("\r\n", "<br />");
所以,如果你想要在資料庫裡面處理換行就去搜尋CHAR(10),
如果想要在網頁上面換行就搜尋<br/>,
如果想要在程式裡面換行就是搜尋\r\n(C#),
如果與法使用VB就搜尋vbCrLf。
最後附上換行顯示結果:
沒有留言:
張貼留言