我的模型有一个DateTime字段:
[UIHint("DateTimeHHMM")]
public DateTime TimeBooked { get; set; }
使用EditorTemplate进行渲染:
@model Nullable<System.DateTime>
@if ( Model.HasValue ) {
@Html.TextBox( "" , String.Format( "{0:dd/MM/yyyy HH:mm:ss}" , Model.Value ) , new { @class = "span3 disabled" } )
}
else {
@Html.TextBox( "" , String.Format( "{0:dd/MM/yyyy HH:mm:ss}" , DateTime.Now ) , new { @class = "span3 disabled" } )
}
在我看来,语法是:
<div class="editor-label">
@Html.LabelFor(model => model.TimeBooked)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.TimeBooked)
@Html.ValidationMessageFor(model => model.TimeBooked)
</div>
在视图中创建记录时,在文本框中单击“保存”并显示以下内容:
22/07/2012 18:33:29
TimeBooked字段必须是日期。
我的模型或编辑模板有问题吗?
谢谢,
标记
答案 0 :(得分:1)
您应确保应用程序以适当的语言(CultureInfo)运行,尤其是涉及日期(和数字)格式时。
您可以在web.config文件中执行此操作。
<system.web>
<globalization culture="en-GB" uiCulture="en-GB"/>
您应该将此设置为符合您需求的任何地区/国家/地区,这样.NET将正确处理日期和数字的解析。