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
  • asp之家 网络编程 m.aspxhome.com