【问题标题】:How to remove whitespace from an asp:TextBox when using MaxLength property?使用 MaxLength 属性时如何从 asp:TextBox 中删除空格?
【发布时间】:2011-12-22 18:08:27
【问题描述】:

通过 MaxLength 属性,我有一个最大长度为 50 的 asp:TextBox。此文本框的内容被写入数据库。

问题在于,如果用户没有填写所有 50 个字符,则文本框的其余部分将被空白填充 - 因此也会像这样保存到数据库中。

有没有办法解决这个问题?

【问题讨论】:

  • 请贴出保存数据到数据库的代码
  • 您确定 TextBox 添加了空格吗?我相当确定数据库必须添加空格。 (您的意思是右填充空格以填充最多 50 个字符,对吧?)
  • @ANeves 没错,我怀疑是数据库。
  • 你可以试试 txtbox.Text.Trim();在读取字符串时,它会删除空格。

标签: c# javascript jquery asp.net html


【解决方案1】:

我要在这里冒险并建议您将文本列声明为NCHAR(50)CHAR(50) 而不是NVARCHAR(50)VARCHAR(50)

前者将向表中写入 50 个字符 - 如有必要,用空格填充输入。后者将在表格中写入最多 50 个字符。

如果您进行此更改,则写入的任何新数据都将不带尾随空格,但必须清除任何现有数据:

UPDATE table SET column = RTRIM(column) WHERE column LIKE '% '

【讨论】:

    【解决方案2】:
    txtTextbox.Text = txtTextbox.Text.Trim();
    
    // call to stored procedure follows
    

    【讨论】:

      【解决方案3】:

      从后面代码中的文本框中获取值时,对检索到的字符串使用“.Trim()”。这将从字符串中删除所有前面和后面的空格。

      【讨论】:

        猜你喜欢
        • 2021-05-29
        • 2015-01-24
        • 2011-12-26
        • 2011-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-18
        • 1970-01-01
        相关资源
        最近更新 更多