2013-05-21 37 views
2

我有一個文本框Web控件,可以自動修剪其內容中的任何前導空格,因此當我得到文本時它與用戶最初編寫的內容不同(如果他進入一個前導空格)如何在asp.net文本框中保留前導空格

是有一種方法來禁用此功能

+1

首先,沒有任何.trim()'在你的代碼'?其次,請顯示您正在使用的任何代碼來嘗試這樣做。 – TheGeekZn

+0

不存在.trim()我認爲這是asp中的一個功能:TextBox控件它修剪任何前導空格 –

+0

我從來沒有這個錯誤....一直使用asp.net 3年..那就是爲什麼我查詢了它 – TheGeekZn

回答

1

也只有一個解決方案覆蓋的默認行爲是你寫的分配whicever用戶進入到一個隱藏字段一個JavaScript函數,然後捕獲該值在您的按鈕隱藏字段或什麼的回發事件你有

<asp:TextBox runat="server" ID="TextBox1" onkeydown="document.getElementById('HiddenField1').value += this.value" ></asp:TextBox> 

問候

0

您需要&nbsp; HTML來代替空格。

Dim TextWithSpaces As String = OriginalText.Replace(" ", "&nbsp;") 

TextBox.Text = TextWithSpaces 
+0

謝謝瑞安,但我認爲這將不起作用的情況下,用戶在文本框中輸入一個前導空間如何,然後我可以捕獲'&nbsp'如果它已經被修剪 –

+0

在你完成替換之前,你不會將文本綁定到文本框,如果你知道我的意思嗎? –

+0

我想你正在處理服務器端文本我正在談論用戶輸入的客戶端文本 –

0

其實有可能是另一種解決方法FO這個。 ASP.NET旨在取代U+0020(Unicode代碼點爲space),但它不會爲其他一些空白字符執行此操作,例如U+00A0 - no-break space

我有一個重複的空格字符需要保留在ASP.NET頁面RadTextBox(它表現得像普通的ASP TextBox當保留空白,這意味着我失去了所有,但一個重複的空間)的問題。

所以,如果你設置文字是這樣的:

txtName.Text = name.Replace(' ', '\u00A0'); 

,你從文本框獲取文本是這樣的:

name = txtName.Text.Replace('\u00A0', ' '); 

用戶它會看起來像裏面有文本框的空間和ASP.NET不會刪除這些類似空間的字符。

答案被這個答案的啓發:What is the best invisible character can I use to replace &nbsp;?

相關問題