如何从Asp.Net MVC Razor将值设置为HTML5日期字段?
我发现了一个类似的问题here但这不适用于我的情况。请看下面的屏幕截图。在“编辑”窗体中呈现数据时,除高亮显示的日期字段外,所有数据均已正确设置为控件。当我检查这个元素时,我发现这个值在那里,但由于某种原因它没有在现场显示。如何从Asp.Net MVC Razor将值设置为HTML5日期字段?
这里是我用来设置值到这个日期字段的代码。我试过“yyyy-MM-dd” & “MM/dd/yyyy”格式但没有工作。
<td>Joining Date</td>
<td>
@{
if(Model.JoiningDate != null)
{
<input id="txtJoiningDate" type="date" style="width: 100%;" value="@String.Format("{0:MM/dd/yyyy}",Model.JoiningDate.Value)" />
}
else
{
<input id="txtJoiningDate" type="date" style="width: 100%;" />
}
}
</td>
编辑
为什么不是你只需要使用的HTML帮助,如下所示: -
@Html.TextBox("txtJoiningDate", Model.JoiningDate.Value ,"{0:yyyy-MM-dd}",new{ @style="width:100%", type="date" })
你确定你试过YYYY-MM-DD格式?看看这个fiddle,正常工作在Chrome
<input id="txtJoiningDate" type="date" style="width: 100%;" value="2010-12-25" /> -> works
<input id="txtJoiningDate" type="date" style="width: 100%;" value="2010/12/25" /> -> will not work
是的。请在编辑部分查看第二张图片。即使在Chrome中,它也无法正常显示。 – 2014-08-29 05:22:40
我假设你的浏览器版本是相当新的。我能想到的其他事情可能是其他插件/ JS正在干扰。演示是否适合你? – Mrchief 2014-08-29 05:40:52
是的,演示工程,但不是我的解决方案:( – 2014-08-29 05:48:34
@Html.EditorFor(x => x.JoiningDate)
也模型:
[DisplayName("Joining date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? JoiningDate { get; set; }
使用HTML帮助
@Html.TextBox("txtJoiningDate", Model.JoiningDate.Value ,"{0:MM/dd/yyyy}")
在型号
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public Nullable<System.DateTime> JoiningDate{ get; set; }
这是我的作品
你在哪里提到输入类型=“日期”? – 2015-04-15 09:57:45
对于Html5输入类型=“日期”字段,值必须以格式“yyyy-MM-dd”指定。一旦你以这种格式设置它,你会看到在屏幕上分配的值。
我试着用'V'代替'v',但结果是一样的:( – 2014-08-29 05:24:12
@VPVerma ...然后尝试我的第一个答案... – 2014-08-29 05:24:52
如果我选择第一个选项,是否可能使用jquery获得这个控件的值(因为这个值可以被用户改变)?如果是,那我该怎么做?因为现在,我使用jquery获得这个值,例如$(“#txtJoiningDate”) .val();这是使用此控件的编号 – 2014-08-29 05:30:06