asp.net-mvc – DisplayFor和ValueFor之间的区别
发布时间:2020-05-25 09:17:34 所属栏目:asp.Net 来源:互联网
导读:我想知道在最近我不知道的ValueFor和我一直用来显示值的DisplayFor之间有什么区别. 我建立了一个测试项目,在其中我创建了一个具有2个属性的Model: public class TestModel{ [Display(Name = Montant)] [DisplayFormat(DataFormatString = {0:C2})] public
|
我想知道在最近我不知道的ValueFor和我一直用来显示值的DisplayFor之间有什么区别. 我建立了一个测试项目,在其中我创建了一个具有2个属性的Model: public class TestModel
{
[Display(Name = "Montant")]
[DisplayFormat(DataFormatString = "{0:C2}")]
public Decimal Amount
{
get;
set;
}
[Display(Name = "Date d'achat")]
[DataType(DataType.Date)]
public DateTime Date
{
get;
set;
}
}
这是我得到的结果: TestModel model = new TestModel
{
Amount = 1234.333M,Date = DateTime.Today.AddDays(-10)
};
@Html.DisplayFor(x => x.Amout) => "1 234,33 "
@Html.ValueFor(x => x.Amount) => "1234,333"
@Html.DisplayFor(x => x.Date) => "23/03/2014"
@Html.ValueFor(x => x.Date) => "23/03/2014 00:00:00"
从我看到的,使用ValueFor而不是@ Model.PropertyName没有任何优势 在寻找答案时,我偶然发现了this question,其中最受欢迎的答案虽然没有被选为最佳答案,却给出了与我不同的结果. 任何人都知道为什么我们会得到不同的结果以及ValueFor的真正用途是什么? 解决方法首先我也听说过ValueFor ……但是,看看 source,看起来ValueFor只使用模型的元数据进行简单的渲染,忽略任何相关的模板(内置或自定义).进一步的挖掘表明,实际上,ValueFor的结果相当于使用当前文化调用String.Format或Convert.ToString,具体取决于您是否提供自定义格式 @Html.ValueFor(x => x.Amount) = Convert.ToString(x.Amount,CultureInfo.CurrentCulture) @Html.ValueFor(x => x.Amount,"0.00") = String.Format(x.Amount,"0.00",CultureInfo.CurrentCulture) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 当HTTP响应状态设置为400时,IIS覆盖HTTP响
- asp.net-mvc – 当我使用Validator.TryValidateObject时验证
- asp.net-mvc-3 – 将数组传递给RouteValues,并将其渲染为粘
- 发布一款层次下拉列表控件
- asp.net – 从Web页面录制音频
- asp.net – 值得学习经典ASP?
- ASP.NET MVC:从FileResult返回大量数据
- asp.net-mvc – ASP.NET MVC – 从视图部分更新模型
- asp.net-web-api – asp.net webapi 2属性路由不工作
- 什么是在asp.net中301重定向更推荐的方法?
推荐文章
站长推荐
- asp.net-mvc – 在服务器上安装ASP.NET MVC 4
- asp.net – RegularExpressionValidator VS Ajax
- asp.net – CheckBoxList多个选择:难度模型绑定
- asp.net – 启用Application Insights会使Web应用
- asp.net – 如何检查IIS是否在32位或64位模式
- ASP.NET MVC 3数据注释大于下载日期时间和int
- asp.net – 什么是部分回发?
- asp.net – GridView的RowDataBound函数
- asp.net-mvc-3 – MVC 3 – 其他视图数据未出现在
- asp.net – Razor base type / Templated Razor使
热点阅读
