Sye*_*idi 10 date razor asp.net-mvc-5
我正在尝试在我的创建和编辑Razor Views上显示日期类型输入...日期选择器工作正常但在编辑时我从模型中获取值但日期选择器不显示它...
视图
<div class="form-group form-md-line-input">
@Html.TextBoxFor(model => model.InitialDate, new { @class = "form-control", type = "date" })
@Html.ValidationMessageFor(model => model.InitialDate)
@Html.LabelFor(model => model.InitialDate)
</div>
Run Code Online (Sandbox Code Playgroud)
模型
public Nullable<System.DateTime> InitialDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用DataAnnotations但是同样的事情发生日期选择器只允许我在创建时选择日期,但是当编辑它时不会显示模型中的日期,尽管当我查看呈现的HTML代码时,值为正在设置日期,但控件不显示它.
HTML视图
<input class="form-control" data-val="true" data-val-date="The field InitialDate must be a date." id="InitialDate" name="InitialDate" type="date" value="3/3/2015 12:00:00 AM">
Run Code Online (Sandbox Code Playgroud)
我还从浏览器的开发人员工具中删除了属性值的时间,看它是否有效,但它也不起作用......
<input class="form-control" data-val="true" data-val-date="The field InitialDate must be a date." id="InitialDate" name="InitialDate" type="date" value="3/3/2015">
Run Code Online (Sandbox Code Playgroud)
如何在日期选择器中显示模型中的日期?任何帮助将不胜感激...
小智 30
如果您使用它来生成浏览器HTML5 datepicker实现,则日期的格式需要为yyyy-MM-dd(ISO格式).使用TextBoxFor()它需要
@Html.TextBoxFor(m => m.InitialDate, "{0:yyyy-MM-dd}", new { @class = "form-control", type = "date" })
Run Code Online (Sandbox Code Playgroud)
或者,将以下属性添加到属性中
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> InitialDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
并在视图中使用
@Html.EditorFor(m => m.InitialDate)
Run Code Online (Sandbox Code Playgroud)
请注意,这会添加type="date"属性
| 归档时间: |
|
| 查看次数: |
14635 次 |
| 最近记录: |