ASP .网使用埃阿斯返回Json对象的方法
一、新建一个超文本标记语言页面,如注册页面Register.htm
!DOCTYPE htmlhtml标题用户注册/title meta charset=' utf-8 '/style type=' text/CSS ' .msg { color : ReD }/style/head dy!-因为是创建交互式、快速动态网页应用的网页开发技术提交,html表单控件可以不必放在形式里,且不能使用提交按纽(类型='submit '),而使用普通按纽(类型='button') -用户名:输入类型=' text ' name=' id ' id=' id '/span id=' idMsg ' class=' msg '/span br/!跨度用来显示错误信息-密码:输入类型=' password ' name=' pwd ' id=' pwd '/span id=' pwdMsg ' class=' msg '/span br/姓名:输入类型=' text ' name=' name ' id=' XM '/span id=' namesg ' class=' msg '/span br/输入id=' btnReg ' type=' button ' value='注册/script type=' text/JavaScript ' src=' http : bootstrap/js/jquery。js '/script script src=' http : reg。js ' type=' text/JavaScript '/script/body/html二、新建一射流研究…文件,如:reg.js
$(function() { //定义清除错误信息的函数函数clearMsg() { $(' .消息')。html(" ");} //定义获取表单数据的函数,注意返回json对象函数formData(){ return { id : $(“# id”).val(),pwd: $('#pwd ').val(),名称:美元(' #xm ').val()};} //定义注册功能的函数函数reg(){ var URL=' register。ashx ';var data=formData();clearMsg();$.ajax({ type: 'GET ',//自动会把json对象转换为查询字符串附在全球资源定位器(统一资源定位符)后面如:http://localhost :49521/register。阿什克斯。id=apwd=bname=c url: url,dataType: 'json ',//要求服务器返回一个json类型的数据,如:{"成功:街消息":注册成功} ContentType :“应用程序/JSON”,//发送信息给服务器时,内容编码的类型数据:数据,//提交给服务器的数据,直接使用json对象的数据,如:{'id':'a ',' pwd':'b ',' name':'c'}(如果要求json格式的字符串,可使用用JSON。stringify(数据))成功:函数(response Ta){//如果响应成功(即200)if(响应数据。成功==真){//响应数据也是json格式,如:{"成功:街消息":注册成功}警报(响应数据。消息);} else { var msgs=响应数据。msgs//msgs对象是一个数组,如下所示://{"成功" :false "消息":注册失败,' msgs':[{'id':'pwdMsg ',' message': '密码不能为空.'},{ ' id ' : ' nameMsg ',' message': '姓名不能为空.'}]} for(var I=0;i msgs.lengthi ) { $('#' msgs[i]).id ).html(msgs[i]).消息);} } },error: function() { //要求为功能类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。创建交互式、快速动态网页应用的网页开发技术事件函数如下://函数(XMLHttpRequest,textStatus,错误通过){//通常情况下文本状态和错误抛出只有其中一个包含信息//这个;//调用本次创建交互式、快速动态网页应用的网页开发技术请求时传递的选择参数警报(参数[1]);} });//ajax } //定义一个初始化函数函数init() { $('#btnReg ').单击(function(){ reg();});} //调用初始化函数init();});三、处理创建交互式、快速动态网页应用的网页开发技术请求
方法一:手动拼接json字符串
新建一般处理程序,如:Register.ashx
使用系统;使用系统。收藏品;使用系统。数据;使用系统Linq .使用系统网络.使用系统。网络服务;使用系统。网络服务协议;使用系统Xml。Linq使用系统。集合。通用;命名空间{///summary///$ code before类名$的摘要说明////摘要[WebServiCe(NameSpace=' http://tempuri。org/')][WebServiceBinding(CONFOrmSTO=WSiprofiles .base cprofile 1 _ 1)])公共类寄存器1 : IHttpHandler { public void process request(HttpContext context){ context .响应。content type=' application/JSON ';//设置响应内容的格式是json格式字符串id=上下文。请求[' id '];字符串pwd=上下文。请求[' pwd '];字符串名称=上下文。请求[' name '];Liststring msgList=new Liststring();如果(字符串IsNullOrEmpty(id)) { msgList .添加(' { \ ' id \ ' : \ ' idMsg \ ',\ '消息' : \ '用户名不能为空。\'}');} if(pwd==null | | pwd==' '){ MsGlist .添加(' { \ ' id \ ' : \ ' pwdMsg \ ',\ '消息' : \ '密码不能为空。\'}');//形如:{'id':'pwdMsg ',消息' : '密码不能为空。} } if(name==null | | name==' '){ MsGlist .添加(' { \ ' id \ ' : \ ' nameMsg \ ',\ '消息' : \ '姓名不能为空。\'}');}字符串响应文本=if (msgList .Count==0) { //调用后台代码写入数据库responseText=' { \ ' success ' : true,\ ' message \ ' : \ '注册成功\'}';} else { string msgsValue=for(int I=0;我是msgList .计数;i ) { msgsValue=msgList[i]',';//将列表中的每一个字符串连接起来,用','隔开,不过最后还会多,' } msgsValue=msgsValue .子字符串(0,msgsValue .长度-1);//去掉末尾的,' msgsValue='[' msgsValue ']';//用'[]'括起来,如:[{'id':'pwdMsg ',' message': '密码不能为空。},{ ' id ' : ' nameMsg ',' message': '姓名不能为空。}]responseText=' { \ ' success ' : false,' message \ ' : \ '注册失败\ ',\ ' msgs ' : ' msgsValue ' }//最的形如:{"成功" :false "消息":注册失败,' msgs':[{'id':'pwdMsg ',' message': '密码不能为空.'},{ ' id ' : ' nameMsg ',' message': '姓名不能为空.'}]} }上下文回应。写(回应文字);} public bool IsReuse { get { return false;} } }}方法二:使用Json .网工具来将C#对象转换json输出
1、新建信息类" Msg.cs "
使用系统;使用系统。数据;使用系统。配置;使用系统Linq .使用系统网络.使用系统。网络安全;使用系统网络。用户界面使用系统网络。UI。HtmlControls使用系统。网络控件;使用系统。网页组件;使用系统Xml。Linq命名空间网络登录{公共类Msg {私有字符串id;公共字符串Id { get { return id}设置{ id=value} }私人字符串消息;公共字符串消息{获取{返回消息}设置{ message=value} }公共消息(字符串id,字符串消息){ this . id=idthis . message=message } } } 2、新建返回json对象的类" ResponseData.cs "
使用系统;使用系统。数据;使用系统。配置;使用系统Linq .使用系统网络.使用系统。网络安全;使用系统网络。用户界面使用系统网络。UI。HtmlControls使用系统。网络控件;使用系统。网页组件;使用系统Xml。Linq使用系统。集合。通用;命名空间网络登录{公共类回应私有弯曲件成功;公共bool成功{ get { return success}设置{成功=价值} }私人字符串消息;公共字符串消息{获取{返回消息}设置{ message=value } } private ListMSg msgspublic ListMSg Msgs { get { return Msgs;}设置{ msgs=值;} }公众响应Ta(bool成功,字符串消息){ this。成功=成功;this.message=message}公共响应Ta(bool success,string message,listmmsg msgs){ this。成功=成功;this . message=message this . msgs=msgs } } } 3、去官网下载Json .NET,并复制引用
官网:http://www.newtonsoft.com/json
下载地址:http://pan.baidu.com/s/1nvz9JBV
下载解压后将"牛顿索夫。Json.dll "复制到项目的“bin”目录中,并引用(注意和。网版本保持一致)
4、新建一般处理程序" reg.ashx "
使用系统;使用系统。收藏品;使用系统。数据;使用系统Linq .使用系统网络.使用系统。网络服务;使用系统。网络服务协议;使用系统Xml。Linq使用系统。集合。通用;使用牛顿英尺.Json//引入命名空间{///summary///$ code before类名$的摘要说明////摘要[WebServiCe(NameSpace=' http://tempuri。org/')][WebServiceBinding(CONFOrmSTO=WSiprofiles .base cprofile 1 _ 1)]公共类reg : IHttpHandler { public void process request(HttpContext context){ context .响应。content type=' application/JSON ';//设置响应内容的格式是json格式字符串id=上下文。请求[' id '];字符串pwd=上下文。请求[' pwd '];字符串名称=上下文。请求[' name '];ListMsg msgs=new ListMsg();如果(字符串IsNullOrEmpty(id)) { msgs .添加(新Msg('idMsg ','用户名不能为空.'));}如果(字符串IsNullOrEmpty(pwd)) { msgs .添加(新Msg('pwdMsg ','密码不能为空.'));}如果(字符串IsNullOrEmpty(name)) { msgs .添加(新消息(' nameMsg ','姓名不能为空.'));} response Ta RDA Taif(msgs .Count==0) { //调用注册方法,写入数据库rData=新响应(真,)注册成功。');} else { rData=新响应数据(false,)注册失败.',msgs);}上下文。响应。编写(JsonConvert .SerializeObject(RData));//直接调用方法将rData转换为json字符串} public bool IsReuse { get { return false;} } }}四、完成效果如图
以上所述是小编给大家介绍的ASP .网使用埃阿斯返回Json对象的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
版权声明:ASP .网使用埃阿斯返回Json对象的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。