0

我有一个 asp.net mvc 4 项目,在我的视图模型中有一个日期时间控件。并进入我的控制器收入日期时间属性格式: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)

有人知道我的错误在哪里吗?

4

3 回答 3

0

将此属性添加到您的模型中:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]


但是,如果您想要一个实际的日历控件,则需要使用 jquery 之类的东西。

于 2013-09-20T11:26:39.507 回答
0

我认为您缺少像这样访问可空字段值所需的基本内容

Datevalue.value instead of just Datevalue and use date time formatting
于 2013-09-20T11:27:19.093 回答
0

尝试将 EditorFor 更改为 TextBoxFor

@Html.TextBoxFor(model => model.DateValue, new { @Value = Model.DateValue.ToString("dd/MM/yyyy")})
于 2013-09-20T11:31:20.403 回答