ajaxPro用法
一.AjaxPro的使用
1.在项目中添加引用,浏览找到AjaxPro.2.dll文件
2.在Web.config中的system.web里面写入以下代码 </configuration> <system.web> <httpHandlers> <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> </httpHandlers> </system.web> <//configuration>
3.在加载事件中,加入 AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));
4.写的方法都要用 [AjaxPro.AjaxMethod]开头,然后在写方法
5.调用时必须写清楚 命名空间名.类名.方法,例:WebUI._Default.getData();
6.调用可分两中方法(同步调用,异步调用) //在后台写的无参方法 [AjaxPro.AjaxMethod] public string getStr() { return "hello my friends"; } //在后台写的有参方法 [AjaxPro.AjaxMethod] public string getString(string str) { return str + "Say: hello my friends"; }
a.同步调用 (1).拖入html控件button (2).双击,自动显示在.aspx的脚本中 (3).在里面写入你要输入的内容 例: //------------------同步调用无参----------- function Button1_onclick() { var res=WebUI._Default.getStr(); alert(res.value); } //------------------同步调用有参------------ function Button2_onclick() //TextBox1为服务器控件 { var str=document.getElementById("<%=TextBox1.ClientID%>").value; var res=WebUI._Default.getStr(str); alert(res.value); }
b.异步调用 (1).拖入html控件button (2).双击,自动显示在.aspx的脚本中 (3).在里面写入你要输入的内容 例: //-----------------异步调用无参----------------- function Button3_onclick() { WebUI._Default.getStr(getStrCallBack); } function getStrCallBack(res) { alert(res.value); } //-----------------异步调用有参----------------- function Button4_onclick() { var str=document.getElementById("<%=TextBox1.ClientID %>").value; WebUI._Default.getString(str,getStringCallBack); } function getStringCallBack(res) { alert(res.value); }
7.调用对象
//对象 [AjaxPro.AjaxMethod] public Class getClass() { Class cla = new Class(); cla.C_Id = 100; cla.C_Name = "34班"; cla.Count = 20; return cla; } //------------------同步调用对象----------- function Button5_onclick() { var res=WebUI._Default.getClass().value; alert("班级编号:"+res.C_Id+"名称:"+res.C_Name+"人数:"+res.Count); } //------------------异步调用对象----------- function Button6_onclick() { WebUI._Default.getClass(getClassCallBack); } function getClassCallBack(clas) { var res=clas.value; alert("班级编号:"+res.C_Id+"名称:"+res.C_Name+"人数:"+res.Count); }
8.数据集的使用 //方法 [AjaxPro.AjaxMethod] public DataSet getInfo() { return WebUI.GetDataSet.getList(); }
//--------------------异步调用数据集-------------- function Button8_onclick() { WebUI._Default.getInfo(getDataSetCallBack); } function getDataSetCallBack(res) { var dataset=res.value; var strHtml=""; strHtml +='<table style ="border-collapse:collapse ; border-color:Gray ;" border="1px">'; strHtml +=' <tr>'; strHtml +=' <td>学生编号</td>'; strHtml +=' <td>名称</td>'; strHtml +=' <td>年龄</td>'; strHtml +=' </tr>'; for(var i=0;i<dataset.Tables[0].Rows.length;i++) { strHtml +=' <tr>'; strHtml +=' <td>'+ dataset.Tables[0].Rows[i].stu_id +'</td>'; strHtml +=' <td>'+ dataset.Tables[0].Rows[i].stu_name +'</td>'; strHtml +=' <td>'+ dataset.Tables[0].Rows[i].stu_age +'</td>'; strHtml +=' </tr>'; } strHtml +=' </table>'; thedata.innerHTML=strHtml;//thedata是一个<div id="thedata"></div>中的thedata }
9.验证码的使用
//----------------------验证码的使用(必须采用同步调用)----------------------
//验证码的使用 [AjaxPro.AjaxMethod] public bool ValidCodeData(string code) { return (HttpContext.Current.Session["CheckCode"].ToString()==code); }
function Button9_onclick() { var code=document.getElementById("<%=TextBox2.ClientID %>").value; var bool=WebUI._Default.ValidCodeData(code).value; if(bool==true) { alert("ok"); }else { alert("no"); } } AjaxPro.dll文件网上很多的,自己下,如果找不到呢,给我发个留言,我发你邮箱
二,直接调用: javascript中:<%=后台方法%> function says() { alert("<%=Say()%>"); } function del() { alert("<%=DeleteByID(8)%>");//DeleteByID(8)后台方法名 }
三,采用ICallbackEventHandler回调
/**//* * 对ICallbackEventHandler接口进行声明,要在客户端调用服务端代码而不回发,必须声明该接口并且实现它的两个方法: * RaiseCallbackEvent()、GetCallbackResult() * RaiseCallbackEvent()的参数是从前台传过来的,根据传来的参数执行不同的代码并将结果用GetCallbackResult()返回前台 */
//必须声明System.Web.UI.ICallbackEventHandler接口 public partial class _Default : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler { //定义一个回调的返回值 private string Result; //定义两个变量,用来接收页面传过来到操作数 private string Num1; private string Num2; protected void Page_Load(object sender, EventArgs e) { }
/**//// <summary> /// 该方法是回调执行的方法,根据参数在这个方法中处理回调的内容,该方法没有返回值 /// </summary> /// <param name="eventArgument">此参数是从客户端传过来的</param> public void RaiseCallbackEvent(string eventArgument) { //eventArgumeng 为javascript从客户端传递的参数,本例传过来三个参数用“/”分割将每个参数取出存入数组 string[] PagParams = eventArgument.Split('/'); Num1 = PagParams[1]; Num2 = PagParams[2]; //根据第一个参数(所选的操作符),调用不同的执行函数 switch (PagParams[0]) { case "0": Result = add(); break; case "1": Result = sub(); break; case "2": Result = multi(); break; case "3": Result = division(); break; } } /**//// <summary> /// 该方法是返回回调的结果给客户端 /// </summary> /// <returns></returns> public string GetCallbackResult() { return Result; }
//一下四个函数是通过RaiseCallbackEvent方法,调用的回调要执行操作的函数 private string add() { double addResult = double.Parse(Num1) + double.Parse(Num2); return addResult.ToString(); }
private string sub() { double addResult = double.Parse(Num1) - double.Parse(Num2); return addResult.ToString(); }
private string multi() { double addResult = double.Parse(Num1) * double.Parse(Num2); return addResult.ToString(); }
private string division() { double addresult = double.Parse(Num1) / double.Parse(Num2); return addresult.ToString(); } }
ajaxPro用法的更多相关文章
- (转)ajax.dll,ajaxpro.dll的区别和用法
ASP.NET AjaxPro的应用 1.首先下载AjaxPro组件.并将AjaxPro.dll引用到网站(或项目). 2.修改Web.config.在 <system.web> 元素中添 ...
- AjaxPro 的基本用法
通过 Ajax可以直接访问后台的代码 实现的步骤: 一 ,添加 引用 AjaxPro.2.dll 文件 二 配置配置文件 <httpHandlers> <add verb=" ...
- 关于AjaxPro的用法
1.添加引用AjaxPro.2.dll到项目中 2.添加webconfig iis6添加 在<system.web>中添加: <httpHandlers> <add ve ...
- AjaxPro使用说明
转自:http://www.cnblogs.com/lexus/archive/2007/11/29/977281.html 目录 AjaxPro使用说明 1 目录 2 修改历史纪录 ...
- AjaxPro.dll,asp.net 前台js调用后台方法(无刷新)
1.什么是Ajax Ajax是异步Javascript和XML(Asynchronous JavaScript and XML)的英文缩写."Ajax"这个名词的发明人是Jesse ...
- AjaxPro使用说明文档
ajaxpro下载地址 AjaxPro使用说明 1 目录 2 修改历史纪录 3 1.什么是Ajax 4 2.为什么使用Ajax 4 3.Ajax应用场景 ...
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
随机推荐
- Island of Survival 概率
#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> ...
- 《JavaScript高级程序设计 第3版》-学习笔记-3
P84-P137页, 这一章看的真久,这个月事太多了.有些内容在代码注释里没提出来了 1.JS强大的数组类型,元素类型任意,提供了非常多的操作数组的方法和属性 /* 数组类型 */ //stack v ...
- 数据库基本概念-oracle介绍
甲骨文公司,全称甲骨文股份有限公司是全球最大的企业软件公司,总部位于美国加利福尼亚州的红木滩.甲骨文是继Microsoft及IBM后,全球收入第三多的软件公司.甲骨文公司1989年正式进入中国市场.重 ...
- 【算法】一般冒泡排序 O(n^2) 稳定的 C语言
冒泡排序 一.算法描述 假设序列中有N个元素: 第一趟选取第一个元素作为关键字,从左至右比较,若遇到比它小的则放到它左边(也即两数进行交换),若遇到比它大的,则改为选取该元素作为关键字完成后续的比较, ...
- Django设置TIME_ZONE和LANGUAGE_CODE为中国区域
Django默认的timezone是 TIME_ZONE = 'America/Chicago' LANGUAGE_CODE = 'en-us' 设置为中国区域: TIME_ZONE = 'Asia/ ...
- Linux内核监控模块-2-系统调用表地址的获取(Linux内核版本3.13)
那么在Linux内核2.6之后,不能直接导出sys_call_table的地址后,我们要如何获得系统调用表的地址,从而实现系统调用的截获呢. 先贴上我实现好的代码,然后再来讲解吧. modu.c #i ...
- Hadoop 学习笔记 (九) hadoop2.2.0 生产环境部署 HDFS HA部署方法
step1:将安装包hadoop-2.2.0.tar.gz存放到某一个目录下,并解压 step2:修改解压后的目录中的文件夹/etc/hadoop下的xml配置文件(如果文件不存在,则自己创建) 包括 ...
- http server v0.1_mime.c
#include <string.h> #include "mime.h" static STR_MIME_MAP mime_map[]= { MIME_MAP(MIM ...
- ping命令找不到
重装系统后安装JDK了,网络一直不好,我ping了下,结果显示ping不是内部或者外部命令,在谷歌里百度了下,在环境变量的path后加上“;C:\Windows\System32”即可,果然有效哦. ...
- Keil编译后的各文件介绍
编译生成的文件: .plg:编译器编译结果 .hex和.bin:可执行文件 .map和.lst:链接文件 .obj:目标文件 .crf..lnp..d和.axf:调试文件 .opt:保存工程配置信息 ...