asp.net通过反射技术实现Ajax(3)--第一个简单的例子
2008-07-06 10:09
801 查看
现在我们已经有了AjaxUtils在服务端帮助我们调用控件方法
也有了客户端的Ajax为我们请求数据,如果不用他们来做点事情就实在说不过去了.
那么就让我们开始第一个简单的应用吧(废话不说了,现在就开始)
首先看一个后台页面的代码
怎么样,很简单的代码吧
首先通过判断请求方式决定是否调用Ajax方法,这里没有做严格的请求过滤,如果想要严格的安全性,当然还可以通过额外的手段过滤请求(判断sessionid,header之类的东西)
这里声明了两个方法,返回两段不同的文字
下面让我们看看在前台如何一次性调用这两个方法吧
info.aspx代码:
也有了客户端的Ajax为我们请求数据,如果不用他们来做点事情就实在说不过去了.
那么就让我们开始第一个简单的应用吧(废话不说了,现在就开始)
首先看一个后台页面的代码
publicpartialclassinfo:System.Web.UI.Page { protectedvoidPage_Load(objectsender,EventArgse) { if(Request.HttpMethod.ToLower().Equals("post"))//如果请求方式是post,尝试通过AjaxUtils调用方法 AjaxUtils.CallAjaxMethod(this,Request.Form.GetValues("ajax_method")); }
//方法一 protectedstringshowMessage(objectsender,EventArgse) { return("showMessagecalled"); }
//方法二 protectedstringshowMessage2(objectsender,EventArgse) { return("showMessage2called"); } }
怎么样,很简单的代码吧
首先通过判断请求方式决定是否调用Ajax方法,这里没有做严格的请求过滤,如果想要严格的安全性,当然还可以通过额外的手段过滤请求(判断sessionid,header之类的东西)
这里声明了两个方法,返回两段不同的文字
下面让我们看看在前台如何一次性调用这两个方法吧
info.aspx代码:
<body> <formid="form1"runat="server"> <div> <inputtype="button"id="button"value="click"/><divid="message"><asp:LabelID="message"runat="server"></asp:Label></div> <script> window.onload=function(){ document.getElementById('button').onclick=function(){ //创建一个ajax对象,绑定到button上,以post方式请求本页面的url //同时请求了两个方法showMessage和showMessage2 varajax=newAjax.Init(this,'<%=Request.RawUrl%>','post',['ajax_method=showMessage','ajax_method=showMessage2']); ajax.sendRequest(); //处理返回的响应信息 this.ajaxUpdate=function(req){ varxml=req.responseXML; varroot=xml.childNodes[0];//'ajax-response');//得到xml响应的root varresponse=root.getElementsByTagName('response');//得到response节点列表 for(vari=0;i<response.length;i++){ varnode=response[i]; varid=node.attributes[0].nodeValue; //如果是showMessage方法返回的信息,更新label中的文字 if(id=='showMessage') document.getElementById('message').innerHTML=node.text; else alert(node.text);//如果是showMessage2方法返回的信息,简单的弹出一个对话框显示信息 } returnfalse; }; }; } </script> </div> </form> </body>
现在前台和后台的代码都已经有了,让我们看一下效果吧
点击页面上的按钮,label中的消息被更新成了showMessagecalled
同时弹出一个对话框提示我们showMessage2called
说明我们确实是一次性的请求了服务端的两个方法
呵呵,很简单对吧
下一次,让我们看看如何产生更复杂的应用(比如更新页面上的多个repeater控件,或者是ajax翻页之类的)
未完,待续
相关文章推荐
- asp.net通过反射技术实现Ajax(2)--前台javascript封装的Ajax对象
- asp.net通过反射技术实现Ajax
- 通过ASP.NET Ajax技术模拟实现NBA比赛文字直播功能
- ASP.NET jQuery 食谱24 (通过AJAX简单实现DropDownList二级联动)
- Ajax(asp.net)技术实现异步刷新和控件功能示例流程
- Asp.net ajax实现任务提示页面的简单代码
- ASP.NET 非组件实现ajax简单示例
- Ajax无刷新技术实现省市县三级联动下拉菜单--Asp.Net
- asp.net实现无刷新ajax技术登录界面
- 2.ASP.NET AJAx架构--客户端框架的简单实现
- vb.net 中通过反射实现简单工厂模式
- 第一篇: 第一个简单的vs 2008 ASP.NET Ajax 范例
- 一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码
- 在ASP.NET WebForm简单实现伪静态,通过(System.Web.Routing)
- 第一篇: 第一个简单的vs 2008 ASP.NET Ajax 范例
- 一个非常简单的 ASP.NET MVC 示例:长轮询(又叫:反向 AJAX,英文名:Comet)实现
- 利用AJAX和ASP.NET实现简单聊天室
- 利用AJAX和ASP.NET实现简单聊天室
- ASP+Ajax实现无刷新评论简单例子
- ArcGISServer adf通过Asp.Net自己Ajax实现无刷新操作