ASP.NET(AJAX+JSON)实现对象调用
时间:2023-07-19 12:29:33
客户端:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ASP.NETA_JAX.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/jscript">
function CallServer() {
//JSON发送对象
ServerSum("{name:'linyijia',age:'21'}");
}
function GetRegister(rg, contex) {
document.getElementById("TxtRegister").value=rg;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<br />
用户名:<input id="TxtNum1" type="text" />
<br />
服务器:<input id="TxtRegister" type="text" /><br />
<button id="SumBtn" type="button" onclick="CallServer()">登录</button>
</div>
</form>
</body>
</html>
服务器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Script.Serialization;
public partial class _Default : System.Web.UI.Page ,ICallbackEventHandler
{
Users u = null;
protected void Page_Load(object sender, EventArgs e)
{
//回调GetRegister方法
string CallBackFun = Page.ClientScript.GetCallbackEventReference(this,"arg","GetRegister","context");
//创建ServerSum方法,在客户端调用的时候就,会回调GetRegister方法,把参数传给RaiseCallbackEvent(string eventArgument ),最后通过
//GetCallbackResult()方法把返回值传给客户端
string RegisterFun = string.Format("function ServerSum(arg,context){{{0};}}",CallBackFun);
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"ServerSum",RegisterFun,true);
}
string mssage = string.Empty;
#region ICallbackEventHandler 成员
public string GetCallbackResult()
{
return "服务器:你好,你的用户名为:" + u.Name + "你的年龄为" + u.Age;
}
public void RaiseCallbackEvent(string eventArgument)
{
JavaScriptSerializer js = new JavaScriptSerializer();
u =js.Deserialize<Users>(eventArgument);
}
#endregion
}
Users类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
///User 的摘要说明
/// </summary>
public class Users
{
string name;
public string Name
{
get { return name; }
set { name = value; }
}
string age;
public string Age
{
get { return age; }
set { age = value; }
}
}
原理:
使用JSON向服务器发送一个对象,服务器通过实现 ICallbackEventHandler接口后,重写GetCallbackResult和RaiseCallbackEvent方法,在回调的时候,在RaiseCallbackEvent方法
中反序列化JSON,并在GetCallbackResult把结果返回给客户端.
标签:ASP.NET,JSON,对象调用
0
投稿
猜你喜欢
在 Python 中如何将天数添加到日期
2023-02-09 03:34:30
FCKEidtor 自动统计输入字符个数(IE)
2023-01-28 10:07:54
centos 安装python3.6环境并配置虚拟环境的详细教程
2021-06-10 12:24:49
.Net Core服务治理Consul使用服务发现
2023-06-25 07:49:19
Python获取图像中像素点坐标实例代码
2021-02-20 19:42:05
asp利用XmlHttp和Adodb.Stream采集图片
2007-12-06 18:42:00
Server 对象 错误 ASP 0177 800401f3 的解决方案 Server 对象 错误 ASP 0177 800401f3
2009-07-28 17:57:00
Laravel框架执行原生SQL语句及使用paginate分页的方法
2023-11-24 00:27:24
python利用百度云接口实现车牌识别的示例
2021-06-05 12:52:34
python实现C4.5决策树算法
2021-10-05 19:35:29
pytorch程序异常后删除占用的显存操作
2021-04-03 22:33:38
网站构成的基本元素—网页布局
2008-01-04 09:49:00
jquery和css3中的选择器nth-child使用方法和用途示例
2024-04-25 13:11:35
Asp用正则表达式获取文章中的所有图片地址
2010-07-17 13:11:00
Python跳出循环语句continue与break的区别
2023-10-19 11:04:19
vue项目中如何调用多个不同的ip接口
2024-04-10 10:32:37
对python指数、幂数拟合curve_fit详解
2022-12-03 16:28:52
使用Python通过win32 COM实现Word文档的写入与保存方法
2021-03-16 04:09:27
如何编写Go语言中间件的实例教程
2024-04-25 15:29:05
Python之列表的append()方法最容易踩的坑
2022-05-14 18:56:53