2014-10-29 59 views
1

型号禁用编辑模板Date.cshtml在特定视图

[DataType(DataType.Date, ErrorMessage = "Please enter a valid date in the format MM/dd/yyyy")] 
    [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)] 
    [Display(Name = "From Date")] 
    public DateTime FromDate { get; set; } 

查看

@Html.EditorFor(model => model.FromDate) 

Date.cshtml(编辑模板)

@Html.TextBox("", string.Format("{0:MM/dd/yyyy}", DateTime.Now), 
new { @class = "datefield", type = "date" }) 

我的要求是在这个特定视图上显示数据库值,但每次显示当前日期。如何做到这一点请帮助我。

+0

为什么你将日期转换为字符串并解析并将其转换回日期? – 2014-10-29 09:31:55

+0

我更新了我的Date.cshtml,但有同样的问题 – Amol 2014-10-29 09:37:54

回答

1

您应该使用的Model代替DateTime.Now

@Html.TextBox("", string.Format("{0:MM/dd/yyyy}", Model), 
new { @class = "datefield", type = "date" }) 
+0

伟大的工作正常,但在所有其他视图显示默认01/01/0001但我想那里当前日期 – Amol 2014-10-29 10:08:08

+0

在所有其他视图中,你必须设置模型的属性到'DateTime.Now' – 2014-10-29 11:11:19

+0

请问我该怎么做? – Amol 2014-10-29 12:15:06

0

我得到了这种情况

@if (@Model.FromDate != null) 
    { 
     var frmDate = Model.FromDate; 
     @Html.EditorFor(model => frmDate) 
    } 

感谢您的帮助替代解决方案。