真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

ASP.NET怎么定義JavaScriptConverter

這篇“ASP.NET怎么定義JavaScript Converter”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“ASP.NET怎么定義JavaScript Converter”文章吧。

成都創(chuàng)新互聯公司成立與2013年,先為珠暉等服務建站,珠暉等地企業(yè),進行企業(yè)商務咨詢服務。為珠暉企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

1、定義存在循環(huán)引用的類型

首先我們定義一個Boy類和Girl類以供使用:

public class Boy  {  public string Name;  public Girl GirlFriend;  }  public class Girl  {  public string Name;  public Boy BoyFriend;  }

很顯然,如果我將它們“配成一對”,在序列化輸出時就會拋出異常了。就沖著這點,我們就必須定義一個JavaScriptConverter啊,總不能拆散他倆。

2、定義JavaScriptConverter以及序列化能力

我們下面就該開始定義JavaScriptConverter了,我們姑且將其稱之為BoyConverter。首先需要告訴ASP.NET,我們這個Converter可以支持哪些類型:

public class BoyConverter : JavaScriptConverter  {  public override IEnumerable SupportedTypes  {  get  {  yield return typeof(Boy);  }  }  ……  }

如果要實現一個比較良好的Serialize方法,就需要處理“有循環(huán)引用”和“沒有循環(huán)引用”兩種情況。幸運的是,對于Serialize方法來說,這點比較容易:

public override IDictionary, object, object =  Dictionary, object = (Boy)obj;  result["Name"] = boy.Name;  // 如果有GirlFriend引用      if (boy.GirlFriend != null)  {  // 摘除循環(huán)引用           = ;  result["GirlFriend"] = boy.GirlFriend;  // 在客戶端再建立關聯          result["__getRealObject"] =  "function(o) {  = o; return o; }";  }  return result;  }

在這里,我們“手動”地將Boy對象轉換為了一個IDictionary,這樣就避免出現了循環(huán)引用。另外,為了在客戶端直接得到一個互相引用的“Boy”和“Girl”對象

3、自定義序列化功能使用示例

那么我們來看一下使用示例吧,首先我們需要定義一個Web Service方法:

[WebService(Namespace = "http://tempuri.org/")]  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  [Microsoft.Web.Script.Services.ScriptService]  public class BoyGirlService  : System.Web.Services.WebService {  [WebMethod]  public Boy GetBoy(string boyName, string girlName)  {  Boy boy = new Boy();  boy.Name = boyName;  if (!String.IsNullOrEmpty(girlName))  {  Girl girl = new Girl();  girl.Name = girlName;  girl.BoyFriend = boy;  boy.GirlFriend = girl;  }  return boy;  }  }

以上就是關于“ASP.NET怎么定義JavaScript Converter”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注創(chuàng)新互聯行業(yè)資訊頻道。


文章名稱:ASP.NET怎么定義JavaScriptConverter
本文地址:http://weahome.cn/article/pjpips.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部