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安全错误
数据库的锁怎样保障安全
深圳市人人互联网科技有限公司
科技互联网企业
互联网科技公司华为
科技创新与互联网经济
科技互联网项目
互联网电商科技
互联网公司 科技公司
互联网金融与金融科技
互联网科技创新企业排名
科技大学互联网专业好不好
上海电发互联网科技有限公司
广州慧亚互联网科技怎么样
互联网科技项目计划书材料类
武汉健翔互联网络科技有限公司
深圳市优智互联网科技有限公司
伊宁互联网科技做什么的
互联网科技包装股
互联网科技企业商标注意事项
青岛易易互联网科技
承德科技产业互联网平台
百单网互联网科技有限公司
科技互联网公司装修
有马互联网科技
互联网科技宣传片
重庆科技学院互联网
互联网汽车科技小镇
互联网系的金融科技公司
坤平互联网科技
互联网相关科技技术
互联网领先科技活动