2008-11-12 16 views

cevap

3

JSON dönüşüm System.Runtime.Serialization ve System.Runtime.Serialization.JSON ile yapılabilir. İstemciden sunucuya işlev çağrıları oluşturmayla daha çok ilgilendiğinizden şüpheleniyorum. Ben this tutorial denemeye değer olduğunu düşünüyorum.

Bu eğiticide, bir webservice '.asmx' dosyası eklemeniz gerekir. Asmx dosyasında istemci komut dosyasından callable fonksiyonlar yaratabileceksiniz. ASP.NET sayfalarınız ayrıca .asmx işlevlerini çağırmak için oluşturulan istemci komut dosyasını da referans alabilir. Aslında olsa JSON seri yapmak istiyorsanız

, şunları da kullanabilirsiniz:

using System.Runtime.Serialization; 
using System.Runtime.Serialization.Json; 

public class JsonSerializer 
{ 
    // To make a type serializeable, mark it with DataContractAttribute 
    // To make a member of such types serializeable, mark them with DataMemberAttribute 
    // All types marked for serialization then need to be passed to JsonSerialize as 
    // parameter 'types' 

    static public string JsonSerialize(object objectToSerialize, params Type[] types) 
    { 
     DataContractJsonSerializer serializer = new DataContractJsonSerializer(
      types[0], types.Skip(1)); 

     MemoryStream ms = new MemoryStream(); 
     serializer.WriteObject(ms, objectToSerialize); 
     ms.Seek(0, SeekOrigin.Begin); 
     StreamReader sr = new StreamReader(ms); 
     return sr.ReadToEnd(); 
    } 
} 
3

özel yönteminin kullanılmasıyla ilgili codproject.com görüşmelerin Bobby Soares tarafından maddesinde Extending an existing ASP.NET Web Service to support JSON aşağıdaki istenen sonuca ulaşmak için bağlıyor.

+0

Bobby Saores makalesinin mükemmel olduğunu göstermektedir. Projemi destekleyecek gibi göründüğü gibi uygulamak için giong'um. – htm11h

0

ASP.Net Ajax'ı bir süredir kullandım, ancak JSON veya XML iletişimi konusunda endişelenmeden. Bunun yerine, innerHTML kullanarak ayarlayabileceğiniz içeriği doğrudan döndürmek için Web hizmetleri kullandım.

Bu, uygulanması çok kolaydır. Sadece bir web servisi (ASMX) dosyası oluşturun ve yöntemlerinizi WebMethods (WebMethod özniteliğini ayarlayın) olarak bildirin.

Artık web hizmetinizi Javascript kodunuzdan normal bir işlev gibi hemen arayabilirsiniz.

İşlev sonuçları bir geri arama işlevine döndürülür. Bu,

//Webmethod returns some HTML content 
Myservice.DoSomething(myParam, callBackFunction); 

//Content is set on the webpage 
function callBackFunction(result){ 
    document.getElementById('myElemID').innerHTML = result; 
} 
+0

neden hafif bir json nesnesi yerine telden aşağı html geçirme yüküne sahipseniz, yalnızca güncelleme panellerini kullanmıyorsunuz? Json'un fikri, k'nin telin minimumda kalmasını sağlamaktır ve böylece bantların hızlı bir şekilde yanıt vermesidir. – redsquare

İlgili konular