Passage de paramètre à WebMethod avec jQuery Ajax

J'ai une simple méthode web et ajax appel et continuer à recevoir une erreur en disant qu'il ne peut pas convertir une chaîne en un IDictionary objet???

Voici l'appel 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) { . . . .

Ici est le webMethod:

<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

Voici ce que je vois de FireBug:

En-Têtes De Réponse

Server: Microsoft-IIS/5.1

Date: Thu, 09 Apr 2009 21:43:59 GMT

jsonerror:vrai

Cache-Control:private

Content-Type:application/json; charset=utf-8

Content-Length:1331

POST": "{\"ID\":\"4\"}"

RÉPONSE:

{"Message":"Impossible de convertir l'objet de type \u0027System.String\u0027 de type \u0027System.Collections
.Génériques.IDictionary`2[Système.Chaîne,Système.Objet]\u0027","StackTrace":" au Système.Web.Script.La sérialisation
.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type de type de, JavaScriptSerializer sérialiseur, Boolean
throwOnError, Objet& convertedObject)\r\n au Système.Web.Script.La sérialisation.ObjectConverter.ConvertObjectToTypeMain
(Object o, Type de type de, JavaScriptSerializer sérialiseur, Boolean throwOnError, Objet& convertedObject
)\r\n au Système.Web.Script.La sérialisation.ObjectConverter.ConvertObjectToType(Object o, Type de type de, JavaScriptSerializer
sérialiseur)\r\n au Système.Web.Script.La sérialisation.JavaScriptSerializer.Deserialize(JavaScriptSerializer
sérialiseur, Chaîne d'entrée, Type de type Int32 depthLimit)\r\n au Système.Web.Script.La sérialisation.JavaScriptSerializer
.Désérialiser[T](entrée de Chaîne)\r\n au Système.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest
(HttpContext contexte, JavaScriptSerializer sérialiseur)\r\n au Système.Web.Script.Services.RestHandler
.GetRawParams(WebServiceMethodData methodData, HttpContext contexte)\r\n au Système.Web.Script.Services
.RestHandler.ExecuteWebServiceCall(HttpContext contexte, WebServiceMethodData methodData)","ExceptionType"
:"Le système de.InvalidOperationException"}

N'importe qui ont des idées à ce sujet? Merci!!