2013-07-27 33 views
0

我通過AJAX將日期時間值作爲字符串發佈到MVC保存此值的操作。保存日期時間值從AJAX發佈到MVC操作

但在保存在MVC行動值的時間,我在AJAX響應,收到錯誤消息:

一個DATETIME2數據類型爲datetime數據類型的轉換導致的OUT-的範圍值

我的AJAX POST是,

String dateTime="2013-07-25 11:59:22 PM"; 
$.ajax({ 
    type:'POST', 
    url:'SaveSchedule', 
    data:{start:dateTime}, 
    success:function(data){ } 
}); 

和MVC行動作爲,

[HttpPost] 
public ActionResult SaveSchedule(DateTime start) 
{ 
    var schedule = new Schedule { StartTime = start}; 
    db.Schedules.Add(schedule); 
    db.SaveChanges(); 
    var temp = 0; 
    return Json(temp); 
} 
+0

http://stackoverflow.com/questions/1331779/c-sharp-conversion-of-a-datetime2-data-type-to-a-datetime-data-type檢查此鏈接 –

+0

我也試過了「TryParse」,然後我也越來越像錯誤,字符串未被識別爲有效的DateTime。在線DateTime startTime = DateTime.ParseExact(s.StartTime,「yyyyMMdd HH:mm:ss.fff」,null); – user2624970

+0

請勿使用AM PM格式刪除該pm –

回答

2

使用ajax函數時,應該小心,因爲它們是客戶端函數,因此您應該在您的控制器中decalre字符串類型參數,並且在action中通過使用tryparse方法將它們轉換爲所需的數據類型C#。 在字符串參數中獲取日期後,您將通過使用datetime.tryparse方法將字符串中的日期轉換爲datetime數據類型,然後在使用ajax時將永遠不會發生此類錯誤。

+0

我也嘗試過「TryParse」,那麼我也越來越像錯誤, 字符串未被識別爲有效的DateTime。 在線 DateTime startTime = DateTime.ParseExact(s.StartTime,「yyyyMMdd HH:mm:ss.fff」,null); – user2624970