Ajax.Net之提交或返回一个Class(转)
来源:互联网 发布:linux 彻底删除用户 编辑:程序博客网 时间:2024/05/21 19:51
这是根据Ajax.net作者写的Demo做的,大概意思就是能够从客户端提交个服务器端定义的类给服务器端,服务器端也能够返回个Class给客户端,我简化了作者的代码,在aspx页面中没有使用cs文件,同时把所有的服务器端方法都放到了一个cs文件中!代码中赋有注释,我发觉这个ajax框架真的很简单的,好象现在看起来他比atlas和无刷新回调都要来的简单啊 ,所有代码在ie6和firefox下通过
前台ClassTest.aspx代码如下:
<%@ Page Language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat=server>
void Page_Load(object sender, EventArgs e)
{
//我们要把名字空间MyDemo下的Demo类注册下
AjaxPro.Utility.RegisterTypeForAjax(typeof(MyDemo.Demo));
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type=button value="返回个类对象" onclick="getClass()" /><br/>
<input type=button value="返回个继承类对象" onclick="getInheritedClass();" /><br/>
<input type=button value="提交个类对象给服务器端" onclick="putClass();"/>
</div>
</form>
<script type="text/javascript">
function getClass()
{
MyDemo.Demo.GetMyClass(getMyClass);
}
function getMyClass(ret)
{
var a = ret.value;
alert(a.FirstName);
}
function getInheritedClass()
{
MyDemo.Demo.GetInheritedClass(getInhClass);
}
function getInhClass(tg)
{
var a = tg.value;
alert(a.LastName+"/n"+a.gid);
}
function putClass()
{
var p = MyDemo.Demo.GetMyClass().value;
//先调用服务器端方法GetMyClass返回个MyClass对象
p.FirstName = "老鼠是";
//第一个参数为服务器端方法所需要的参数,第二个为接受数据处理的js函数
MyDemo.Demo.PutClass(p,putMyClass);
}
function putMyClass(dsf)
{
var a = dsf.value;//得到服务器传来的数据
alert(a.FirstName+"/n"+a.LastName+"的徒弟!");
}
</script>
</body>
</html>
MyClass.cs 文件代码:只有被客户端调用的方法才要在方法上面加[AjaxPro.AjaxMethod]
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using AjaxPro;
/// <summary>
/// Summary description for MyClass
/// </summary>
///
namespace MyDemo
{
public class MyClass
{
public MyClass()
{
//
// TODO: Add constructor logic here
//
}
public string FirstName = "";
public string LastName = "";
public int Age = 0;
}
//下面这个类继承自MyClass类,他将具有和上面类一样的公共属性
public class MyInheritedClass : MyClass
{
public double Size = 0.0;
public Guid gid = Guid.Empty;
}
public class Demo
{
public Demo(){}
[AjaxPro.AjaxMethod]
public MyClass GetMyClass()
{
//这个方法将返回一个MyClass类的实例
MyClass c = new MyClass();
c.FirstName = "老鼠";
c.LastName = "吴旗娃";
c.Age = 30;
return c;
}
//这个方法将返回给客户端一个继承类MyInheritedClass类的实例
[AjaxPro.AjaxMethod]
public MyInheritedClass GetInheritedClass()
{
//初始化个MyInheritedClass类对象,因为继承,所以他也具有父类公共属性
MyInheritedClass c = new MyInheritedClass();
c.FirstName = "老鼠";
c.LastName = "吴旗娃";
c.Age = 30;
c.Size = 4.5;
c.gid = Guid.NewGuid();
return c;
}
//下面这个方法获得从客户端传来的数据(类对象)再返回一个类对象给客户端
[AjaxPro.AjaxMethod]
public MyClass PutClass(MyClass c)
{
c.LastName = "吴旗娃师傅";
return c;
}
}
}
- Ajax.Net之提交或返回一个Class(转)
- Ajax.Net之提交或返回一个Class
- thinkphp之Ajax提交和返回
- ajax提交返回错误
- .net ajax提交数据
- ajax提交返回boolean类型
- 返回值是一个struct或class对象的情形【4】
- jsp中ajax表单提交到另外一个jsp再返回来
- .net Ajax 提交到webService
- thinkphp3.2 ajax 提交返回数据
- ajax formdata 提交 页面端返回乱码
- form ajax提交返回html直接嵌入
- Ajax提交post请求返回404错误
- ajax提交 返回中文乱码问题
- 使用ajax提交表单或上传文件
- 使用ajax提交表单有很多优势 (下面是一个上传文件的实例 new FormData class)
- 利用ajax返回一个页面
- Ajax应用之表单提交
- Asp.net与SQL一起打包部署安装
- 关于代码页
- 共同数据类
- GDB基本用法zt
- 工作是这样的
- Ajax.Net之提交或返回一个Class(转)
- 一些和ajax的资料
- 连转带改——★理性的认识电脑,从硬件的参数开始★(转东转西)
- pdf creator 打印机安装
- 身体是革命的本钱
- HttpWebRequest请求的安全问题
- 希望自己要好好学习
- B血型的特征,就是我的特征
- 从事软件维护与开发的体会