【发布时间】:2011-11-23 20:10:27
【问题描述】:
我在别处读到 DisplayFormat 只是以与 string.Format 相同的方式使用 DataFormatString。我正在尝试显示一个电话号码;在控制台应用程序中,以下工作:
const string PhoneFormat = "{0:###-###-####}";
long? phone = 8005551212;
string s = string.Format(PhoneFormat, phone);
s = "800-555-1212"
为什么当我在我的视图中使用它时
@Html.DisplayTextFor(model => model.Patient.Phone)
显示的是8005551212
这是模型...
public class Patient
{
[DisplayFormat(DataFormatString = "{0:###-###-####}")]
public long? Phone { get; set; }
}
也试过DisplayFor,还是不行。
似乎对我有用的唯一方法是
Html.Raw(string.Format("{0:###-###-####}", Model.Patient.Phone))
【问题讨论】:
-
我看不到你在哪里使用 DisplayFormat,或者你发布的代码中的任何格式字符串。
-
我的错,我认为这很明显。我的 Patient 对象的 Phone 属性用 DisplayFormat 属性修饰。
-
不,这并不明显。当你遇到问题时,你需要展示你所做的一切,因为你可能会在那里犯错。所以用属性展示你的模型。
标签: asp.net-mvc data-annotations