2014-02-19 3 views
0

보존 시간을 표시하지 JQuery와 날짜 선택기를 사용하여, I는 다음을 수행ASP.NET MVC 5 부분도 배양

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

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

} 
:

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

이 메인 뷰에 정의 된 날짜 선택기이며

이 두 가지 문제를 가지고

1) 전술 한 바와 같이 0001-01-01 0시 0분 0초 2) 이들은 시간을 표시하는 두 가지 기본적 datepickers 모두.

[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}")] 

를 추가로 사물을 만하지 않습니다 :

나는 내가 좋아하는 일을 수행하여 # 1를 해결할 수 있다고 생각 이 시간을 제거하지, 그것도 내 문화 민감한 dateformating (내가 생각하는?) 우선합니다. TextBoxFor를 EditorFor로 변경하라는 제안을 보았습니다. EditorFor는 실제로 시간 문제를 해결하지만 datepicker 바인딩을 잃어 버립니다. 똑같은 문화 문제를 가질뿐 아니라.

어떻게해야합니까?

+0

날짜 선택기는이'날짜 선택기 ({형식처럼 사용할 수있는 형식 속성이 있습니다. mm.yyyy '})' – trebor

+0

이미 format 속성을 사용하고 있습니다. CultureInfo와 함께. 내가해서는 안된다고 말하는거야? –

답변

0

추가 같은 형식 :

dateFormat: 'mm/dd/yy' 

그리고이의 Web.config에 'DD :

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

고마워요.하지만 문화는 여전히 로그온 한 사람에 따라 달라집니다. –

+0

좋아요, 그래서, 당신은 dateFormat을 찾아야한다고 생각합니다. 시도 : 'dd-mm-yy', 'yy-mm-dd'등등. –