jquery Datepicker setdate更改格式

时间:2011-03-21 12:21:55

标签: c# jquery asp.net-mvc-2 jquery-ui datepicker

我在MVC2上使用jquery UI datepicker来设置我的startdate选择器。

当我进入“创建”视图时,我希望datepicker保持其最小值 - 这就是今天。

但由于某种原因,我看到日期格式字符串如下:mm / dd / yyyy HH:MM:SS AM或PM。 只有在用户选择日期之前 - 在用户选择日期之后我才能获得我想要的格式:mm / dd / yyyy在我的datepickers- dateStart和dateEnd

当我去编辑时,我从数据库中获取值(date数据类型)并遇到同样的问题。 这是我的代码:

$(function () {
        var buttonImage = $(".selector").datepicker("option", "buttonImage"); // date image

        // Datepicker
        $('#DateStart').datepicker({
            inline: true,
            showOn: 'both',
            buttonImage: '/Content/calandar2.gif',
            minDate: '+0',
            dateFormat: 'mm/dd/yy',
            onSelect: function (dateStr) {
                var min = $(this).datepicker('getDate') || new Date(); // Selected date or today if none
                $('#DateEnd').datepicker('option', { minDate: min });
            }
        });

        $('#DateEnd').datepicker({
            inline: true,
            showOn: 'both',
            buttonImage: '/Content/calandar2.gif',
            dateFormat: 'mm/dd/yy',
            minDate: '+0'
        });
}

谢谢!!!

1 个答案:

答案 0 :(得分:3)

听起来你的问题是HtmlHelper和DateTime值。

<%=Html.TextBoxFor(model=>model.SomeDate) %>

<%=Html.EditorFor(model=>model.SomeDate) %>

默认情况下会调用DateTime.ToString()

如果是这种情况,您可以将其转换为

<%
  var theValue = //something to get your date time and call .ToShortDateString()
%>
<%=Html.TextBox("DateStart", value) %>

如果您使用模板,您也可以这样做:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>
<%
    string value;
    if (Model.HasValue && Model.Value != DateTime.MinValue) 
        value = Model.Value.ToShortDateString();
    else 
        value = string.Empty;
%>
<%=Html.TextBox("", value) %>