1

我使用过 Jquery UI 日期选择器。我的模型看起来像:

 [DataType(DataType.Date)]
 public DateTime? endDate { get; set; } 

用于在视图中显示

@Html.TextBoxFor(x => x.endDate, new { @class = "datepicker" })

脚本

<script type="text/javascript" language="javascript">
    $(document).ready(function () {
        $(function () {
            $(".datepicker").datepicker({
                dateFormat: "mm/dd/yy",
                changeMonth: true,
                changeYear: true
              });
        });
    });
</script>

当显示日期时间时,它看起来像 09-Nov-12 12:00:00 AM 我只想显示没有时间的日期。感谢您的帮助。

4

6 回答 6

3

您可以通过日期时间选择器以所需格式解析日期。在javascript中试试这个:

$(document).ready(function(){
    $("#endDate").val($.datepicker.parseDate('mm/dd/yy', $("#endDate").val()));

    // Existing stuff
});

或者,您可以使用$.datepicker.formatDate.

例子 :

$("#endDate").val($.datepicker.formatDate('dd-M-yy', new Date($("#endDate").val())));

演示

祝你好运 !!

于 2012-09-23T10:27:45.563 回答
2
[DisplayName("Start Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime StartDate { get; set; }

仅来自 TextBoxFor() 的日期

于 2012-09-23T10:22:37.337 回答
2

用这个

@Html.TextBoxFor(x => x.HasValue ? x.Value.ToString("MM/dd/yy") : string.Empty, new { @class = "datepicker" })

您可以从这里选择您喜欢的任何格式:http: //msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

于 2012-09-23T10:24:39.993 回答
1

您可以使用上述任何一种方法,例如将其格式化为输出,但您真的需要在显示时返回 DateTime 属性吗?显示@Html.TextBoxFor(x => x.endDate.Date 不是更有效吗?

于 2012-09-23T10:27:47.873 回答
1

因为DateTime我更喜欢使用EditorTemplate

@model DateTime?

@Html.TextBox("", (Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") : string.Empty), new { @class = "datepicker" })
于 2012-09-23T10:36:59.017 回答
0

我使用 EditorFor 而不是 TextBoxFor

@Html.EditorFor(x => x.endDate, new { @class = "datepicker" })

在工作正常的视图中。

于 2013-01-17T09:14:22.840 回答