2012-01-03 98 views
-1

嗨,大家好我是新来的这个地方我被推荐到这个网站。我的问题是我有一个在asp.net2010中的MVC3 C#应用程序,这个应用程序添加,编辑和删除数据库中的文本,我的下一步是创建一个允许输入自动日期的方式。目前,这是手动完成的,当用户点击链接创建新的并输入他/她必须手动输入日期的详细信息我想用一种方式,当用户点击链接时创建新的日期自动在那里为他们他们只是按下输入。如何使用@ Html.DisplayFor将日期保存到数据库中

@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 => model.Posted)当我点击创建新的它允许用户手动输入日期。

谢谢您的时间,请您需要在代码Ect的详细信息...刚才问我

回答

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) 
+0

我要试试这个谢谢 – user1128756 2012-01-03 22:15:46

+0

我应该把你提供的第一行代码放在哪里?它属于Models/AccountModels.cs文件还是控制器,我对此有点困惑?谢谢 – user1128756 2012-01-03 22:21:10

+0

@ user1128756,它应该属于你的模型类。由于您正在使用Html.EditorFor帮助程序,因此您的视图被强制键入某个模型。 – 2012-01-03 22:23:21

相关问题