У меня простой веб-метод и вызов ajax, и я продолжаю получать сообщение об ошибке, в котором говорится, что он не может преобразовать строку в объект IDictionary ???
Вот вызов ajax:
var params = '{"ID":"' + rowid + '"}';
$.ajax({
url: 'EDI.asmx/GetPartnerDetails',
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(params),
dataType: "json", //not json . let me try to parse
success: function(msg, st) { . . . .
Вот веб-метод:
<WebMethod()> _
Public Function GetPartnerDetails(ByVal ID As String) As String
'Dim objParam As IDictionary = CType(JsonConvert.DeserializeObject(ID), IDictionary)
'Dim rowID As String = objParam("ID")
Dim objController As New HealthComp.BLL.X12Partners.TradingPartnersController
Dim objInfo As TradingPartnersInfo = objController.FetchByPartnerID(Int32.Parse(ID))
Return JsonConvert.SerializeObject(objInfo)
End Function
Вот что я вижу из FireBug:
Заголовки ответа
Сервер: Microsoft-IIS / 5.1
Дата: четверг, 09 апреля 2009 г., 21:43:59 GMT
jsonerror: правда
Cache-Control: частный
Content-Type: применение / JSON; кодировка = UTF-8
Длина контента: 1331
POST: "{\" ID \ ": \" 4 \ "}"
ОТВЕТ:
{"Message": "Невозможно преобразовать объект типа \ System.String \ u0027 в тип \ u0027System.Collections
.Generic.IDictionary`2 [System.String, System.Object] \ u0027 "," StackTrace ":" в System.Web.Script.Serialization
.ObjectConverter.ConvertObjectToTypeInternal (Объект o, Тип типа, Сериализатор JavaScriptSerializer, Логическое значение
throwOnError, Object & convertObject) \ r \ n в System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain
(Объект o, Тип type, Сериализатор JavaScriptSerializer, Логический throwOnError, Объект & convertObject
) \ r \ n в System.Web.Script.Serialization.ObjectConverter.ConvertObjectToType (Object o, Type type, JavaScriptSerializer
serializer) \ r \ n в System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer
сериализатор, строковый ввод, тип Type, Int32 deepLimit) \ r \ n в System.Web.Script.Serialization.JavaScriptSerializer
.Deserialize [T] (String input) \ r \ n в System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest
(Контекст HttpContext, сериализатор JavaScriptSerializer) \ r \ n на System.Web.Script.Services.RestHandler
.GetRawParams (метод WebServiceMethodData methodData, контекст HttpContext) \ r \ n в System.Web.Script.Services
.RestHandler.ExecuteWebServiceCall (контекст HttpContext, метод WebServiceMethodData methodData) "," ExceptionType "
: "System.InvalidOperationException"}
У кого-нибудь есть идеи по этому поводу? Спасибо !!