在一个表单上,我想使用 3 个文本框来表示一个模型属性(一个电话号码)。电话号码将存储为这样的字符串 - “614-555-4321”。我想要 3 个文本框来保存某人正在输入的电话号码的三个部分。完成此任务的最简单/最佳方法是什么?
现在我有 -@Html.TextBoxFor(m => m.ContactInfo.Phone)
如何将其拆分为 3 个文本框,然后ContactInfo.Phone
在提交表单时将其映射回属性,并在电话号码的三个部分之间添加“-”?
在一个表单上,我想使用 3 个文本框来表示一个模型属性(一个电话号码)。电话号码将存储为这样的字符串 - “614-555-4321”。我想要 3 个文本框来保存某人正在输入的电话号码的三个部分。完成此任务的最简单/最佳方法是什么?
现在我有 -@Html.TextBoxFor(m => m.ContactInfo.Phone)
如何将其拆分为 3 个文本框,然后ContactInfo.Phone
在提交表单时将其映射回属性,并在电话号码的三个部分之间添加“-”?
一种方法是在视图模型中使用三个输入属性,并结合起来获取电话号码:
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)