ASP.NET怎么定义JavaScript Converter
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇"ASP.NET怎么定义JavaScript Converter"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
软件开发锐捷网络北京
软件开发企业级框架
王山石网络技术官方
戴尔服务器r410设备自动关机
软件开发两种策略
承德巽通网络技术
青年 网络安全教育
安庆医院软件开发要多少钱
上海能源互联网科技
卡五星软件开发
什么是耕地质量等级数据库
没有防火墙服务器对网络危害
得到数据库时区
和平精英吃鸡服务器地址
隆尧网络安全宣传片
宜春手机软件开发招聘
网络技术基础瑜伽
怎么复制筛选出来的数据库
公司网站服务器
服务器入门看什么书
c http 服务器
茌平软件开发项目管理在线咨询
服务器风扇是多少分贝
流媒体服务器知乎
警察网络安全管理培训课
网络技术专科毕业后工资
服务器虚拟化固态
数据库商品店
arm服务器拆解
网络安全态势感知系统方案