1

我的模型有一个 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 字段必须是日期。

我的模型或编辑器模板有问题吗?

谢谢,

标记

4

1 回答 1

1

您应该确保应用程序以正确的语言 (CultureInfo) 运行,尤其是涉及日期(和数字)格式时。

您可以在 web.config 文件中执行此操作。

  <system.web>
    <globalization culture="en-GB" uiCulture="en-GB"/>

您应该将其设置为符合您需求的任何地区/国家,这样 .NET 将正确处理解析日期和数字。

于 2012-07-22T20:22:01.527 回答