ASP.NET怎么定义JavaScript Converter
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇"ASP.NET怎么定义JavaScript Converter"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所
千家信息网最后更新 2026年10月31日ASP.NET怎么定义JavaScript Converter
这篇"ASP.NET怎么定义JavaScript Converter"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"ASP.NET怎么定义JavaScript Converter"文章吧。
1、定义存在循环引用的类型
首先我们定义一个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方法,就需要处理"有循环引用"和"没有循环引用"两种情况。幸运的是,对于Serialize方法来说,这点比较容易:
public override IDictionary, object, object = Dictionary, object = (Boy)obj; result["Name"] = boy.Name; // 如果有GirlFriend引用 if (boy.GirlFriend != null) { // 摘除循环引用 = ; result["GirlFriend"] = boy.GirlFriend; // 在客户端再建立关联 result["__getRealObject"] = "function(o) { = o; return o; }"; } return result; }在这里,我们"手动"地将Boy对象转换为了一个IDictionary
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"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
内容
循环
序列
方法
客户
客户端
对象
文章
知识
示例
篇文章
类型
良好
幸运
价值
功能
大部分
就是
情况
手动
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中关村互联网科技集团
疫情对互联网科技公司影响
盈实互联网科技
互联网扶贫科技
互联网科技社
金融科技创新监管互联网金融
科技服务与互联网
上海致骋互联网科技
成都狮子座互联网科技
盛创互联网科技有限公司
互联网科技寓意
字节跳动和互联网科技
广州恒生互联网科技有限
江阴互联网智能科技产品进口
区块链结合互联网科技
江苏苏星互联网科技有限公司
中天科技中国工业互联网
西安有哪些互联网高科技企业
互联网界的黑科技
互联网科技品牌
博彦科技互联网金融
广州为想互联网科技有限公司
麻工互联网科技
广州互联网科技公司
广西互联网科技公司
互联网科技汛
承德科技产业互联网发展
互联网校园科技培训
互联网金融科技展
张家口科技产业互联网平台