0

この値を保存するために、AJAX POST を介して DateTime 値を MVC アクションに文字列として投稿しています。

しかし、MVC アクションで値を保存するときに、AJAX 応答に次のようなエラー メッセージが表示されます。

datetime2 データ型から datetime データ型への変換により、範囲外の値が発生しました

私の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);
}
4

1 に答える 1

2

ajax 関数を使用する場合は、クライアント側の関数であるため注意が必要です。そのため、コントローラーで文字列型パラメーターを宣言し、アクション内で C# の tryparse メソッドを使用して必要なデータ型に変換する必要があります。文字列パラメーターで日付を取得した後、datetime.tryparse メソッドを使用して文字列の日付を日時データ型に変換すると、ajax の使用中にこのようなエラーが発生することはありません。

于 2013-07-27T06:52:37.230 に答える