2017-08-30 10 views
-1

私の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)" 
+1

これをstringに変更し、その中のstring値をDateTimeにキャストします。 –

答えて

0

まずパラメータとWebMethod属性のパラメーター:

私は、次のエラーを受け取っ行われます

param1 - p1
date - Date

あなたのようなあなたのAjaxのデータを設定した場合:

data: "{'param1': 'a', 'date1': '31/08/2017'}" 
は、このVBのコードは動作するはずです、 DateTimeから Stringにあなたの日付パラメータを変更し

<WebMethod(EnableSession:=True)> 
Public Shared Function xyzMethod(ByVal param1 As String, ByVal date1 As String) 
    Dim convertedDate As DateTime = Convert.ToDateTime(date1) 
    'Return what you need 
    Return Nothing 
End Function 

注:私は、日付を設定している場合WebMethodのパラメータをdateに設定すると、次のエラーが表示されます。

Keyword is not valid as an identifier.

+0

更新された質問を参照 –

+0

私の更新を参照してください。 WebMethodパラメータを 'DateTime'から' String'に変更しようとしましたか? – krlzlx