代码之家  ›  专栏  ›  技术社区  ›  KellCOMnet

文本框:以一种格式显示值,但返回另一种格式

  •  0
  • KellCOMnet  · 技术社区  · 15 年前

    我想把网站上的电话号码字段显示为(123)456-7890,但在调用mytextbox时,让系统将其视为1234657890。text我认为这需要覆盖text属性并在覆盖的属性中清除它,但我想在社区中运行它。

    2 回复  |  直到 15 年前
        1
  •  1
  •   matt-dot-net    15 年前

    是的,文本属性有两种方式。您确实需要在输出时格式化,并在输入时清除它。然而!我建议您不要对输出使用文本框,而是使用标签或LiteralControl来显示它。然后当用户编辑时,更改为没有格式的文本框。这个概念来自数据绑定控件,比如:

    <ItemTemplate>
      <asp:Label Text=<%# FormattedText %> />
    </ItemTemplate>
    <EditItemTemplate>
      <asp:TextBox />
    </EditItemTemplate>
    
        2
  •  0
  •   DOK    15 年前

    如果您将电话号码存储和检索为十位数的字符串,则可以在显示时对其进行格式化,如下所示:

    string.Format("{0,0:(###) ###-####}", phoneNumber);
    

    在执行此操作之前,应该测试字符串是否实际包含10个数字字符。