2017-10-18 28 views
1

我的模型具有財產TimeScheduleOnUtc這樣日期時間空當提交表單.NET MVC

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy HH:mm}")] 
public DateTime? TimeScheduleOnUtc { get; set; } 

我的形式有

<input type="text" class="form-control datetimepicker" placeholder="MM/dd/yyyy HH:mm" name="TimeScheduleOnUtc" /> 

但是,當我提交表單我總是在TimeScheduleOnUtc空值。它發生在我的電腦上,我的所有成員似乎都很好。我無法找到原因,我怎麼修復。我認爲這可能是一個錯誤取決於我的電腦上的日期時間配置。

+0

Tl; Dr MVC不理解你的日期格式 – Liam

+0

但是你知道我的所有成員的計算機爲什麼以這種格式工作正常 –

+0

文化 – Liam

回答

1

檢查您的應用程序文化是否支持此日期格式。我在日期格式完全相同時遇到了一些問題。解決方案是在我的控制器的constructor中更改當前的文化。

試試這個:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB"); 

附加:檢查所有受支持的日期時間格式,你可以code直接使用的代碼從我的要點在view

@{ 
    var dateInfo = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat; 
} 
    @foreach (var item in dateInfo.GetAllDateTimePatterns()) 
    { 

     <div>@item</div> 
    } 

我相信有一個更好的方法來解決問題,但是現在可以將其用作解決方法。

0

謝謝你的所有答案。最後,我找到了解決辦法是,我需要從

 $('.datetimepicker') 
      .datetimepicker({ 
       format: 'mm/dd/yyyy hh:ii', 
       autoclose: true, 
       startDate: new Date() 
      }); 

在我的JavaScript來改變我的DateTimePicker config要

 $('.datetimepicker') 
     .datetimepicker({ 
      format: 'MM/dd/yyyy hh:ii', 
      autoclose: true, 
      startDate: new Date() 
     }); 

所以我換毫米MM。它可以在我的計算機上正常工作,但也許在您的計算機上,它不會。所以要小心使用它。我希望這對您未來可能有所幫助。

+0

這是一個正確的分鐘'ii'格式嗎?我從來沒有在'JavaScript'或'ASP .NET MVC'中看到過 – mihkov