Kentico Phone 格式不一致

Kentico Phone Format not consistent

我正在向 Kentico 9 中的表单添加美国 phone 号码,但格式不一致。当我在 Form Builder 中创建我的表单时,它看起来像这样:

Well Formatted US phone format

然而,当我查看表格时,Kentico 将 phone 数字拆分成它的组成部分,并将它们全部放在一行上。我找不到解决这个问题的地方。似乎是一种愚蠢的工作方式...

Bad Phone image

我试过创建自定义布局,但它似乎不允许您在那里控制格式。

我不确定我是否理解你的意思 - 你有一个带有字段(数据类型:文本)的表单正在使用 U.S。 phone number 表单控件。您可以在 ~/CMSFormControls/Inputs/USphone.ascx 中指定正确的行为(此表单控件的文件所在的默认路径)。您可以在 USphone.ascx 中指定 css 类 并在 USphone.ascx.cs 中指定一般行为文件。请注意这个 属性:

public override object Value
{
    get
    {
        if (IsEmpty())
        {
            return String.Empty;
        }

        return String.Format("({0}) {1}-{2}", txt1st.Text, txt2nd.Text, txt3rd.Text);
    }
    .
    .
    .
}

在 return 中,您指定了格式化文本的方式 - 这可能会帮助您实现所需的行为。