视图中元素的自动映射到dateTime类型的模型

时间:2014-01-18 21:13:17

标签: c# asp.net asp.net-mvc date-format asp.net-mvc-5

我的文本框值有一些日期时间格式(DatePicker提供的默认值 - 例如 - 2014年1月23日)。

  <input type="text" name="OrderDate" value="" id="OrderDate" class="datepicker field field119 datepicker-init" />

我在模型类中有相关的属性,其名称和ID与视图中的元素相同。

 public DateTime OrderDate { get; set; }

此时所有内容都匹配,一旦提交,我的控制器就会得到正确的值。

现在 - 我想更改默认的DatePicker格式 - 例如:

$(".datepicker").datepicker({
                minDate: 0,
                dateFormat: 'dd/mm/yy'
            });

我没有“解释”模型本身如何处理文本框值 - 而是我得到默认的DateTime而不是我的时间。

问题:如何更改DateTime属性知道如何序列化的文本框日期格式?

1 个答案:

答案 0 :(得分:0)

好的,这就是你如何使用它。

首先,jQuery UI使用dd/mm/y格式化您需要的日期,因此您需要将javascript更改为:

$(".datepicker").datepicker({
                minDate: 0,
                dateFormat: 'dd/mm/y'
            });

请参阅jsFiddle:

http://jsfiddle.net/hutchonoid/Fa8Xx/1376/

然后你需要在视图中格式化模型日期,你可以这样做:

@Html.TextBoxFor(m => m.OrderDate, String.Format("{0:dd/M/yy}", Model.OrderDate),
  new { @class = "datepicker field field119 datepicker-init" })

当将日期发布回服务器时,这适用于模型绑定。