AjaxPro 的使用方法简单介绍下它的用法:一.AjaxPro的使用1•在项目中添加引用,浏览找到AjaxPro.2.dll文件2. 在 Web.config中的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⑵.双击,自动显示在.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⑵.双击,自动显示在.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 +='
'; strHtml +=' ';strHtml +=' vtd> 学生编号 ';strHtml +=' vtd>名称 ';strHtml +=' 年龄 | ';strHtml +='
';for(var i=0;i';strHtml +=' '+ dataset.Tables[0].Rows[i].stu_id +' | ';strHtml +=' '+ dataset.Tables[0].Rows[i].stu_name +' | ';strHtml +=' '+ dataset.Tables[0].Rows[i].stu_age +' | ';strHtml +=' ';}strHtml +='
';thedata.innerHTML=strHtml;//thedata 是一个vdiv id="thedata">v/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("v%=DeleteByID(8)%>");//DeleteByID(8)后台方法名}三,采用 ICallbackEventHandler 回调〃必须声明 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){}///
/// 该方法是回调执行的方法,根据参数在这个方法中处理回调的内容,该方法没有返回值/// /// vparam 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;}}///
/// 该方法是返回回调的结果给客户端/// ///
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();}}VS2005 中 AJAX 使用方法//声明一个AJAX命名空间Ajax_showPL,在每个类定义之前加上此句。
注意:Web2.0不支持命名空间, 他把所有的类都放在自己生成的App_Code文件夹中)[AjaxPro.AjaxNamespace("Ajax_showPL")]// HT_ShowPL_QT是一个类,在这个类中注册AJAX远程处理方法,把这句代码加在页面加载的事件中这 里用到了反射(反射是.NET中获取运行时类型信息的方式,让程序员可以在程序运行期获得程序集,模块, 类的相关信息)AjaxPro.Utility.RegisterTypeForAjax(typeof(HT_ShowPL_QT));//声明AJAX方法,在每个AJAX方法前面加上此句代码[AjaxPro.AjaxMethod]//同时,要在 Web.config 配置文件中做相应的修改