Asp.net mvc 5.2 何时以及如何使用Html5DateRenderingMode
我知道Html5DateRenderingMode用于显示与日期/时间相关的值,可以设置为-Asp.net mvc 5.2 何时以及如何使用Html5DateRenderingMode,asp.net-mvc-5.2,Asp.net Mvc 5.2,我知道Html5DateRenderingMode用于显示与日期/时间相关的值,可以设置为- @{ Html.Html5DateRenderingMode = Html5DateRenderingMode.Rfc3339; } @{ Html.Html5DateRenderingMode = Html5DateRenderingMode.CurrentCulture; } 我已尝试在视图(.cshtml)中声明。与EditorFor as一起使用时- @Html.EditorFor(emp =
@{ Html.Html5DateRenderingMode = Html5DateRenderingMode.Rfc3339; }
@{ Html.Html5DateRenderingMode = Html5DateRenderingMode.CurrentCulture; }
我已尝试在视图(.cshtml)中声明。与EditorFor as一起使用时-
@Html.EditorFor(emp => emp.StartDate, new { htmlAttributes = new { @class = "form-control" } })
它根据声明的渲染模式显示日期
问题--我们是否总是在视图(.cshtml)中设置日期呈现模式,或者也可以在ViewModel中声明日期呈现模式。如果是,如何进行?
-设置Html5DateRenderingMode的实际用途是什么? (考虑是否可以使用ApplyFormatInEditMode和DataFormatString注释实现相同的功能)
谢谢大家! 关于这个特殊属性的文档非常稀少。有关其用途的最佳描述,请参见资料来源:
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace System.Web.Mvc
{
/// <summary>
/// Controls the value-rendering method For HTML5 input elements of types such as date, time, datetime and datetime-local.
/// </summary>
public enum Html5DateRenderingMode
{
/// <summary>
/// Render date and time values according to the current culture's ToString behavior.
/// </summary>
CurrentCulture = 0,
/// <summary>
/// Render date and time values as Rfc3339 compliant strings to support HTML5 date and time types of input elements.
/// </summary>
Rfc3339,
}
}
//版权所有(c)Microsoft Open Technologies,Inc.保留所有权利。有关许可证信息,请参阅项目根目录中的License.txt。
命名空间System.Web.Mvc
{
///
///控制类型为date、time、datetime和datetime local的HTML5输入元素的值呈现方法。
///
公共枚举Html5DateRenderingMode
{
///
///根据当前区域性的ToString行为呈现日期和时间值。
///
CurrentCulture=0,
///
///将日期和时间值呈现为符合Rfc3339的字符串,以支持HTML5日期和时间类型的输入元素。
///
Rfc3339,
}
}
处理与日期/时间相关的HTML5输入类型时,输入的值必须设置为ISO或“Rfc339”格式,否则内置浏览器控件将无法正确解释日期/时间。这仅适用于使用支持这些类型并提供日历/时间控件的现代浏览器时,以允许您以结构化方式拾取或以其他方式输入日期时间信息
这个枚举实际上只是一个开/关开关,而不是两个单独的选择,它的存在很可能会根据您的目标受众允许一些灵活性。如果你真的只想要一个标准的文本输入,或者你只关注桌面,遗憾的是,到目前为止,桌面对浏览器的支持仍然很可怜,那么你可能希望输入值对用户更“友好”,因为它是他们当前的文化,即08/12/2015
vs2015-08-12
。但是,如果您希望依赖现有的浏览器控件(如果有的话),在必要时使用多边形填充,或者关注支持通用的移动控件,则需要以适当的ISO格式输出值
不过,老实说,我以前从来没有玩弄过这种设置,也从来没有真正需要这样做
就DataFormatString
属性及其ApplyFormatInEditMode
参数而言,是的,使用它可以实现几乎相同的功能。更宽松的是,您可以使用任何格式,但是如果您在编辑模式下应用ISO格式,那么您将执行与设置为Html5DateRenderingMode.rfc339
时相同的设置