Jqueryとmvc3を使用してC#に日付時刻を渡すにはどうすればいいですか?これは私が持っているものです
var date = new Date();
$.ajax(
{
type: "POST",
url: "/Group/Refresh",
contentType: "application/json; charset=utf-8",
data: "{ 'MyDate': " + date.toUTCString() + " }",
success: function (result) {
//do something
},
error: function (req, status, error) {
//error
}
});
C#が日付を理解するために、日付の形式を把握することはできません。
次の形式が機能するはずです。
$.ajax({
type: "POST",
url: "@Url.Action("refresh", "group")",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
myDate: '2011-04-02 17:15:45'
}),
success: function (result) {
//do something
},
error: function (req, status, error) {
//error
}
});
ToISOString()を使用してみてください。 ISO8601形式の文字列を返します。
GETメソッド
javascript
$.get('/example/doGet?date=' + new Date().toISOString(), function (result) {
console.log(result);
});
c#
[HttpGet]
public JsonResult DoGet(DateTime date)
{
return Json(date.ToString(), JsonRequestBehavior.AllowGet);
}
POSTメソッド
javascript
$.post('/example/do', { date: date.toISOString() }, function (result) {
console.log(result);
});
c#
[HttpPost]
public JsonResult Do(DateTime date)
{
return Json(date.ToString());
}
これを試して
var date = new Date();
$.ajax(
{
type: "POST",
url: "/Group/Refresh",
contentType: "application/json; charset=utf-8",
data: "{ 'MyDate': " + date.getTimezoneOffset() + " }",
success: function (result) {
//do something
},
error: function (req, status, error) {
//error
}
});
C#で
DateTime.Now.ToUniversalTime().AddMinutes(double.Parse(MyDate)).ToString();
次のように日時文字列をラップする必要があることがわかりました。
"startdate": "\/Date(" + date() + ")\/"
1時間かかって、WCFサービスを有効にして、XDにエラーメッセージを返した
JavascriptにはtoJSON()
メソッドがあり、Dateオブジェクトの文字列表現を返します。 toJSON() はIE8 +であり、 toISOString() はIE9 +です。両方ともYYYY-MM-DDTHH:mm:ss.sssZ
フォーマット。
var date = new Date();
$.ajax(
{
type: "POST",
url: "/Group/Refresh",
contentType: "application/json; charset=utf-8",
data: "{ 'MyDate': " + date.toJSON() + " }",
success: function (result) {
//do something
},
error: function (req, status, error) {
//error
}
});