2010-12-10 19 views
2

我在我的asp.net頁面多行文本框。當用戶輸入一些數據時,我將數據存儲在數據庫表中。現在,當我顯示數據回頁面ENTER輸入而數據丟失,所有的數據都顯示在同一行上按下了哪個用戶。所以我想在輸入數據時保存按下的輸入數據並以輸入的形式顯示數據.plz幫助如何保存輸入和選項卡中多行TextBox在asp.net

回答

5

HTML collapses whitespace:換行字符確實存儲在數據庫中,但是呈現爲空格字符頁。

渲染時,您可以替換<br />元素換行符:

yourLabel.Text = Server.HtmlEncode(yourData).Replace("\n", "<br />"); 

有沒有簡單的解決方案,以恢復製表字符,不過,除了在一個多隻讀TextBox控制使您的數據。當顯示數據時

+0

這對我而言發送HTML電子郵件從c# – Ravimallya 2014-04-06 15:27:28

+0

在互聯網上的衆多答案中,這絕對有效。多謝,夥計。 – 2015-05-27 03:35:49

0

更換輸入字符CHAR(13)與HTML斷裂線< BR/>。

lblDisplay.Text = GetTextFromDb().Replace(char(13),"<br/>"); 
0

通常情況下,當用戶按下一個多行文本框或textarea的tab鍵,焦點將跳轉到下一個HTML頁面元素,因此用戶將不能夠將標籤添加到他們的輸入。但是,如果用戶複製和粘貼其從Word例如文本,標籤將被保留,並保存到SQL數據庫。如果是這樣的話,你可以簡單地打開一個空白Word文檔,輸入選項卡,選中該選項卡,然後將其複製並粘貼到一個REPLACE語句,用&nbsp或左緣的CSS跨度設定爲20px取代它。當您在讀取模式下顯示條目時,它應該正確呈現。以下代碼替換呈現條目中的製表符和換行符。

objLabel = FindControl(strQuestionId) 
strReformattedText = reader("Answer").Replace(System.Environment.NewLine, "<br />") 
strReformattedText = strReformattedText.Replace(" ", "&nbsp;&nbsp;&nbsp;&nbsp;") 'Replace tab character with &nbsp; 
objLabel.Text = strReformattedText 
相關問題