2013-05-21 36 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;?

相关问题