私のASP.NETプロジェクトの1つでは、いくつかのパラメータでjQuery ajaxリクエストを使用してデータを要求しています。ASP.NET WebMethod for Ajaxが日付形式 "dd/MM/yyyy"を受け付けない
<WebMethod(EnableSession:=True)>
Public Shared Function xyzMethod(ByVal param1 As String, Byval date as
DateTime)
//End Function
AJAX呼び出し:私は上記のAJAX呼び出しのために、以下のWebメソッドを持っている私の.vbファイルでそれらの1つの日付パラメータとフォーマットは「DD/MM/YYYY」です
$.ajax({
type: "POST",
url: "somePath/xyzMethod",
data: "{'param1': 'a', 'date': '31/08/2017'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async:true,// false,
success: functions(response) { }
});
一致していないWebMethod属性に送ら
{Message: "30/08/2017 is not a valid value for DateTime.",…}
ExceptionType
:
"System.FormatException"
Message
:
"30/08/2017 is not a valid value for DateTime."
StackTrace
:
" at System.ComponentModel.DateTimeConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
↵ at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject)
↵ at System.Web.Script.Services.WebServiceMethodData.StrongTypeParameters(IDictionary`2 rawParams)
↵ at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)
↵ at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)"
これをstringに変更し、その中のstring値をDateTimeにキャストします。 –