19 messaggi dal 21 settembre 2010
function Bserialize_Click(oButton, oEvent) {
var json = $(".ct").serializeArray();
$.ajax({
type: "POST",
url: "Webjson.aspx/serform",
data: json,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) { alert("ok successo");},
error: function (msg) { alert("Error, please try again "); },
complete: function (msg) { alert("completato"); }

});
}

<System.Web.Services.WebMethod()> _
Public Shared Function serform(ByVal datijson As DynamicJsonArray) As String

End Function

SERMAR
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Mario,
a me dà errore se provo ad usare un parametro di tipo DynamicJsonArray. Infatti, questa classe non ha costruttori senza parametri e quindi non può essere istanziata dal deserializzatore.

La cosa migliore sarebbe crearsi una classe VB.NET che rispecchi la struttura del JSON che ti arriva in ingresso, così potresti accedere alle sue proprietà in maniera strongly-typed.

Tuttavia, immagino che ci sia stato un valido motivo per cui non l'hai fatto. Magari il JSON che ti arriva non ha sempre la stessa forma e perciò devi riuscire a leggerlo dinamicamente?

Qualunque fosse il motivo, vedo che i dati ti arrivano dal metodo .serializeArray() di jQuery, quindi devono essere semplicemente un elenco di coppie chiave-valore. Forse allora ti converrebbe usare l'altro metodo, il .serialize(), che ti produce una stringa come la seguente:

chiave1=valore1&chiave2=valore2&chiave3=valore3

Lato server, dal tuo Page Method, la puoi parsare per ottenere una NameValueCollection.
'Il parametro torna ad essere una semplice stringa
<System.Web.Services.WebMethod()> _
Public Shared Function serform(ByVal dati As String) As String
   Dim collezione As NameValueCollection = HttpUtility.ParseQueryString(dati);
   'Qui enumeri la collezione con un ciclo For Each
End Function


Comunque, spiega bene cosa devi realizzare.

ciao,
Moreno

Enjoy learning and just keep making
19 messaggi dal 21 settembre 2010
grazie mille non conoscevo questo metodo HttpUtility.ParseQueryString
sono alle prime armi in asp net
comunque grazie a te ho risolto

SERMAR

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.