Вопрос

Я пытаюсь отобразить номер, сохраненный в наборе данных как строку, как номер телефона. У меня есть метка, которая связывается со значением, но не отображает формат, который я передал как ARG:

<asp:Label ID="lbl005108002" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "phone number", "{0:(###) ###-####}") %>'></asp:Label>

В качестве теста я пытался пройти образованную строку в PatteriTem, но это тоже не работало. Есть ли что-то еще, что мне нужно сделать, чтобы использовать эту функцию?

m_Row("phone number") = String.Format("{0:(###) ###-####}", value)

Значение отображает в обоих случаях как: 04152543926

Это было полезно?

Решение

Я предпочитаю делать привязку данных в моем кодоне:

<asp:Label ID="lbl005108002" runat="server" Text="" OnDataBinding="lbl005108002_DataBinding"></asp:Label> 

В CodeBehind:

protected void lbl005108002_DataBinding(object sender, System.EventArgs e)
{
    Label lbl = (Label)(sender);
    lbl.Text = String.Format("{0:(###) ###-####}", (int)(Eval("phone number")));
}

Я думаю, что ключ в том, что бросил int Так что Fixter знает, как иметь дело с ценностью, которую вы его отправляете. Я предпочитаю делать это в Codebehind, потому что иногда пытаюсь забрать все, что встроенный делает вещи менее явными.

Другие советы

Какой тип - это значение? Это, кажется, формат нормально для меня:

     int phone_num = 1231231234;
     string f = String.Format("{0:(###) ###-####}", phone_num);

Альтернативный способ:

Dim i как integer = 5551234567 dim s as string = i.tostring ("(###) ### - ####")

TOSTRING - это быстрый способ, которым я использую. Что я сделал, это в окне электронной коммунты, я сделал это:

? 5551234567.ToString("(###) ###-####")

Результатом был:

"(555) 123-4567"

Поэтому я уверен, что это работает. Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top