2014-02-19 85 views
0

在局部視圖,i執行以下操作:ASP.NET MVC 5使用jQuery日期選擇器,不顯示時間,保持培養

@Html.TextBoxFor(m=> m.DateFrom, new{@class="datepicker"}) 
@Html.TextBoxFor(m=> m.DateTo, new{@class="datepicker"}) 

這是日期選擇器,在主視圖中定義:

@section scripts 
{ 
    <script type="text/javascript"> 

     $('.datepicker').datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      minDate: "-99Y", 
      dateFormat: "@CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern.Replace("yyyy", "yy").ToLower()" 
     }); 
    </script> 

} 

這有兩個問題:

1)兩個都datepickers默認爲0001-01-01 00:00:00 2)它們顯示了時間,如上所示。

我想我可以做這樣的事情解決#1:

[Display(Name = "MyOrdersControl_From", ResourceType = typeof (SiteTextResources))] 
public DateTime DateFrom 
     { 
      get { return _dateFrom.HasValue ? _dateFrom.Value : new DateTime(1970, 1, 1); } 
      set { _dateFrom = value; } 
     } 

private DateTime? _dateFrom; 

但是,當我尋找解決方案,以消除時間,我看到的東西,如添加

[DataType(DataType.Date)] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-mm-dd}")] 

但不特這並沒有消除時間,它也覆蓋了我的文化敏感日期格式(我認爲?)。我已經看到建議將TextBoxFor更改爲EditorFor,它確實修復了時間問題,但確實會丟失datepicker綁定。以及有相同的文化問題。

怎麼辦?

+0

的日期選擇具有您可以使用類似這樣的'日期選擇器({格式的格式屬性:「DD。 mm.yyyy'})' – trebor

+0

我已經在使用format屬性。與CultureInfo一起。你是說我不應該? –

回答

0

添加格式是這樣的:

dateFormat: 'mm/dd/yy' 

這到web.config中:

<globalization culture="en-US" uiCulture="en-US" /> 
+0

謝謝,但文化應該仍然取決於誰登錄。 –

+0

好的,所以,我認爲你應該尋找dateFormat。嘗試:'dd-mm-yy','yy-mm-dd'等。 –

相關問題