2011-03-21 77 views
2

我使用MVC2上的jquery UI日期選擇器來設置我的startdate選擇器。jquery Datepicker setdate更改格式

當我進入「創建」視圖時,我希望日期選擇器保持其最小值 - 即今天。

但由於某種原因,我看到日期格式字符串如下:mm/dd/yyyy HH:MM:SS AM或PM。 只有在用戶選擇日期之後 - 用戶選擇日期後,我得到我想要的格式:mm/dd/yyyy在我的兩個日期選擇器中,dateStart和dateEnd

當我去編輯時,來自數據庫的值(日期數據類型)並具有相同的問題。 這是我的代碼:

$(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' 
     }); 
} 

謝謝你!

回答

3

這聽起來像你的問題是與的HtmlHelper和日期時間值。

<%=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) %> 
+0

我打開一個新的EditorTemplates/DateTime.ascx在共享視圖和複製/粘貼你的代碼,我不得不說,它像變魔術一樣!謝謝!!! – eladyanai 2011-03-21 14:37:26