TextBox:以一种格式显示值,但返回另一种格式

时间:2010-07-09 17:37:25

标签: asp.net formatting webforms

我想在网站上显示电话号码字段为(123)456-7890,但系统在调用myTextBox.Text时将其视为1234657890我认为这需要覆盖text属性并清理它被覆盖的财产,但想要超越社区。

2 个答案:

答案 0 :(得分:1)

是的,Text属性有两种方式。你确实必须在输出上格式化,并在输入时清理它。然而!让我建议您使用Label或LiteralControl来显示它,而不是使用TextBox进行输出。然后,当用户编辑时,更改为没有格式的文本框。这个概念来自DataBoundControls,如:

<ItemTemplate>
  <asp:Label Text=<%# FormattedText %> />
</ItemTemplate>
<EditItemTemplate>
  <asp:TextBox />
</EditItemTemplate>

答案 1 :(得分:0)

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

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

在此之前,您应该测试该字符串实际上包含10个数字字符。