大家好我是新来的这个地方我被推荐到这个网站。我的问题是我在asp.net2010中的MVC3 C#中有一个应用程序,这个应用程序添加,编辑和删除数据库中的文本,我的下一步是创建一种允许输入自动日期的方法。目前这是手动完成的,当用户点击链接创建新并输入他/她手动输入日期的详细信息我想要一种方式,当用户点击链接创建新时,日期自动为他们所以他们只是按回车。
@Html.EditorFor(model => model.Posted) I have tried to edit this so it shows this:
<%: Html.TextBox("date", DateTime.Now.ToShortDateString()) %> /*This code does replace the @Html.EditorFor link above and does not save the date and just shows it a text box"*/.
@Html.DisplayFor(modelItem => item.MyDateTime.ToLongDateString())
@{var val = item.MyDateTime.ToLongDateString();
Html.DisplayFor(modelItem => val);
}
这些方法都不起作用或者你能帮助我,谢谢你
我多年来一直在谷歌看到这里和雅虎没有运气我知道它与这个@ Html.EditorFor(model =&gt; model.Posted)有关,因为当我点击创建新的它允许用户手动输入日期。
感谢您的时间。如果您需要有关代码Ect的更多信息,请告诉我
答案 0 :(得分:1)
您可以使用[DisplayFormat]
属性修饰视图模型Posted
属性,如下所示:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
public DateTime Posted { get; set; }
现在,在您的视图中,您使用:
@Html.EditorFor(model => model.Posted)
您将获得所需的格式。只要显示日期而不显示输入字段,您可以使用DisplayFor帮助程序,它仍然会遵循您在视图模型上定义的所需格式:
@Html.DisplayFor(model => model.Posted)