TextBox: отображать значение в одном формате, но возвращать другой формат - PullRequest
0 голосов
/ 09 июля 2010

Я хотел бы отобразить поля телефонных номеров на веб-сайте как (123) 456-7890, но система должна видеть его как 1234657890 при вызове myTextBox.Text Я думаю, что это потребует переопределения свойства текста и очистки его впереопределённая собственность, но хотел обойти это сообщество.

Ответы [ 2 ]

1 голос
/ 09 июля 2010

Да, свойство Text имеет два способа.Вы действительно должны были бы отформатировать на выходе и очистить его на входе.Тем не мение!Позвольте мне предложить вместо того, чтобы использовать TextBox для вывода, вы используете Label или LiteralControl для его отображения.Затем, когда пользователь редактирует, измените текстовое поле, которое не имеет форматирования.Концепция из DataBoundControls, как:

<ItemTemplate>
  <asp:Label Text=<%# FormattedText %> />
</ItemTemplate>
<EditItemTemplate>
  <asp:TextBox />
</EditItemTemplate>
0 голосов
/ 09 июля 2010

Если вы сохраняете и извлекаете номер телефона в виде десятизначной строки, вы можете просто отформатировать его при отображении, например:

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

Прежде чем сделать это, вы должны проверить, что строка действительно содержит 10 числовых символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...