jquery 日付ピッカーを実装しましたが、datetime 値の解析に苦労しています。シナリオは次のとおりです。ユーザーは jquery datepicker を使用して日付を選択し、日付は次の形式 ( dd.MM.yy
) である必要があり、datetime 値は ajax を使用してコントローラーに送信し、(これらの例を簡単にするために) json を介していくつかのダミー データを受信する必要があります。
私は以下を持っています
Views/Shared/EditorTemplates/DateTime.cshtml
@model DateTime
@Html.TextBox("", Model.ToString("dd.MM.yy"), new { @class = "date" })
ビュー/ホーム/ @Html.EditorFor(m => m.MyDate)
<script type="text/javascript">
$('#pickDate').click(function () {
var date = $('input[name="MyDate"]').val();
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: { MyDate: date },
url: '/Home/DateManipulation',
success: function (result) { alert('Success'); },
error: function () { alert("error"); }
});
});
</script>
HomeController.cs
[HttpPost]
public JsonResult DateManipulation(string MyDate)
{
DateTime date = DateTime.ParseExact(MyDate, "dd.MM.yy", CultureInfo.InvariantCulture);
var process = //omitting
return Json(process);
}
そして、_Layout.cshtml では、dom の準備ができています
$('.date').datepicker({ dateFormat: "dd.MM.yy" });
コントローラーで日付を取得していません。エラーは無効な JSON プリミティブ: MyDate です。