我有一个文本框网络控件,它会自动修剪其内容中的任何前导空格,因此当我得到文本时,它与用户最初编写的内容不同(如果他输入了前导空格)
有没有办法禁用此功能
好吧,只有一种解决方案可以覆盖默认行为,即您编写一个 javascript 函数,将用户输入的内容分配给隐藏字段,然后在按钮或任何回发事件中捕获该隐藏字段的值
<asp:TextBox runat="server" ID="TextBox1" onkeydown="document.getElementById('HiddenField1').value += this.value" ></asp:TextBox>
问候
您需要用html替换空格。
例如
Dim TextWithSpaces As String = OriginalText.Replace(" ", " ")
TextBox.Text = TextWithSpaces
实际上可能有另一种解决方法。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 不会删除这些类似空格的字符。
答案的灵感来自这个答案:我可以用什么来代替 ?