Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 DateTime出现问题,显示为00:00:00_Asp.net Mvc 3_Datetime_C# 4.0_Razor - Fatal编程技术网

Asp.net mvc 3 DateTime出现问题,显示为00:00:00

Asp.net mvc 3 DateTime出现问题,显示为00:00:00,asp.net-mvc-3,datetime,c#-4.0,razor,Asp.net Mvc 3,Datetime,C# 4.0,Razor,我有我的数据库,当我注册用户时,它有一个生日值的日期时间类型 当我收到我的数据后,要编辑注册表,我的剃须刀如下: @Html.TextBoxFor(model => model.Birthdate) 日期显示如下:1983年5月28日00:00:00 显然,我只想要生日。在我的控制器中,我有: User userset = db.User.Find(id); return View(userset); 很简单。。。有人能帮我解决这个问题吗?在模型的属性上方设置DisplayFormat

我有我的数据库,当我注册用户时,它有一个生日值的日期时间类型

当我收到我的数据后,要编辑注册表,我的剃须刀如下:

@Html.TextBoxFor(model => model.Birthdate)
日期显示如下:1983年5月28日00:00:00

显然,我只想要生日。在我的控制器中,我有:

User userset = db.User.Find(id);
return View(userset);

很简单。。。有人能帮我解决这个问题吗?

在模型的属性上方设置DisplayFormat数据注释

public class User
{
    [DisplayFormat(DataFormatString = "{0:dd/MM/yy}", ApplyFormatInEditMode = true)]
    public DateTime Birthdate { get; set; }

    ...
}
然后,不要使用(…)的
@Html.textbox
而使用(…)的
@Html.EditorFor

有关更多详细信息,请参阅

如果您已经使用EF生成了数据模型,那么您可以简单地为您的类创建一个元类来应用数据注释。例如,如果我的db文件名为
MyDB.edmx
,则创建名为
MyDB.cs
的好友类文件。然后在里面,我将通过向
User
类附加元数据类并在元类中指定数据注释来扩展该类:

[MetadataType(typeof(UserMetaData))]
public partial class User{ }

public class UserMetaData
{
   [DisplayFormat(DataFormatString = "{0:dd/MM/yy}", ApplyFormatInEditMode = true)]
   public DateTime Birthdate { get; set; }
}

请参阅“但是如果我们使用图形工具进行ORM映射会怎么样?”一节。jQuery中的DatePicker是从用户处接收日期输入的更好方法。它特别有助于避免各种日期格式的混淆


有关的详细信息:

您可以使用
Html.TextBox
而不是
Html.TextBoxFor
执行类似操作

@Html.TextBox("Birth date", String.Format("{0:dd/MM/yyyy}", Model.Birthdate))

谢谢@link664,但我不能这样做,我有为数据库上下文类生成的代码,它不接受将您显示的这一行放在其中。。。还有其他方法吗?您是如何使用实体框架生成数据库上下文类的?我导入了System.ComponentModel.DataAnnotations;要在我生成的模型类中使用,是的,我使用EF生成,我发布了[DisplayFormat(DataFormatString=“{0:dd/MM/yy}”,ApplyFormatInEditMode=true)],正如您在生日行上建议的那样,但它一直不起作用……您是创建了如上所述的buddy类,还是直接编辑生成的实体框架文件?Hi@link664,我试着把所有这些代码发布到我的App.cs文件中,正如你所说的那样,但没有成功。我试图将User.cs的第一行移到App.cs类中,并将其余部分保留在App.cs类中,但也没有成功,因为我是MVC3和Entity Framework的新手,我不知道我在哪里犯了错误……你的方法似乎很简单,但在这种情况下,我的TextBoxFor content将与此方法混合使用。如何在控制器中获取这些数据?