0

在一个表单上,我想使用 3 个文本框来表示一个模型属性(一个电话号码)。电话号码将存储为这样的字符串 - “614-555-4321”。我想要 3 个文本框来保存某人正在输入的电话号码的三个部分。完成此任务的最简单/最佳方法是什么?

现在我有 -@Html.TextBoxFor(m => m.ContactInfo.Phone)

如何将其拆分为 3 个文本框,然后ContactInfo.Phone在提交表单时将其映射回属性,并在电话号码的三个部分之间添加“-”?

4

1 回答 1

1

一种方法是在视图模型中使用三个输入属性,并结合起来获取电话号码:

public string Area { get; set; }
public string Prefix { get; set; }
public string Suffix { get; set; }

public string Phone 
{
    get { return string.Format("({0}) {1}-{2}", Area, Prefix, Suffix); }
}

和:

(@Html.TextBoxFor(model => model.Area)) @Html.TextBoxFor(model => model.Prefix)-@Html.TextBoxFor(model => model.Suffix)
于 2013-09-17T04:34:24.390 回答