我有一个asp.net mvc 4项目,在我的视图模型中有一个日期时间控件。并进入我的控制器收入datetime属性格式:09/20/2013 12:00:00 AM当我尝试通过ViewBag.DateTime将其发送到我的视图并尝试在我的视图中显示它时它没有显示我的值日历格式,只显示mm / dd / yyyy,我需要从日历中选择值。这是我的代码:
模型
[Display(Name = "Date")]
[DataType(DataType.Date)]
public DateTime DateValue { get; set; }
控制器
public ActionResult Date(DateTime? DateValue)
{
if (ExamsDate != null)//ExamsDate have a value and it's sending into view
{
ViewBag.DateValue = DateValue;
}
return View();
}
查看
@Html.LabelFor(model => model.DateValue):<br/>
@Html.EditorFor(model => model.DateValue) //Here instead of 09/20/2013 display mm/dd/yyyy
@Html.ValidationMessageFor(model => model.DateValue)
有人知道我的错误在哪里吗?
答案 0 :(得分:0)
将此属性添加到模型中:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
但是如果你想要一个真正的日历控件,你需要使用像jquery这样的东西。
答案 1 :(得分:0)
我认为你缺少像这样访问可空字段值的基本内容
Datevalue.value instead of just Datevalue and use date time formatting
答案 2 :(得分:0)
尝试将EditorFor更改为TextBoxFor
@Html.TextBoxFor(model => model.DateValue, new { @Value = Model.DateValue.ToString("dd/MM/yyyy")})