加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Ajax.dll前台调用后台方法

发布时间:2020-12-16 03:37:14 所属栏目:百科 来源:网络整理
导读:1. 有直接用框架的:Ajaxpro和Ajax,这两种我用过了,觉得不错 2. 还有一种就是用微软专门为Ajax开发的控件包,叫作ASP.NETAJAX Control Toolkit,这个我没太研究,网上有相关资料,想知道的可以自己去查,里面有很多现成的控件可以实现AJAX。 以上三种是我

1. 有直接用框架的:Ajaxpro和Ajax,这两种我用过了,觉得不错

2. 还有一种就是用微软专门为Ajax开发的控件包,叫作ASP.NETAJAX Control Toolkit,这个我没太研究,网上有相关资料,想知道的可以自己去查,里面有很多现成的控件可以实现AJAX。

以上三种是我收集到的一些AJAX的实现方法,我要讲的是第一种方法的应用,因为第一种能叫你明白AJAX的运行原理,比较适合初学者。
我主要讲Ajaxpro,这是个组件,必须去网上下载,其实就是一个Ajaxpro.dll文件,注意,网上有两种一种叫Ajax.dll一种叫 Ajaxpro.dll,这两种功能上是一样的,就是添加引用的语句有些不同,下面我会分别说的。其实用AJAX都要下相关组件的,开始我也不习惯下什么插件,可后来还是下了,不下不行呀。我下到的是Ajax.dll,所以讲时以Ajax.dll为准。

应用篇,这以下的东西会借鉴网上其他人的文章,在这里声明一下

1.先把Ajax.dll添加引用到项目中,别告诉我不会,如果连这个也不会就太那个了,和添加其他DLL一样,在项目上右击,菜单上有个[添加引用],然后一步一步把那个.DLL文件添加进来,之后你会在项目的引用中看到那个Ajax.dll就是添加成功了

2.修改Web.config。在 <system.web> 元素中添加以下代码。这里的Ajax.dll和Ajaxpro.dll引用方法是不一样的,一定要注意

<configuration> 
<system.web> 
<httpHandlers> 
<!-- Ajax.dll的配置文件写法为,我下载到的是这个 --> 
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory,Ajax" /> 
<!-- AjaxPro.dll的配置文件写法为,根据你下载到的DLL文件选择不同的配置语句--> 
<add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/> 
</httpHandlers> 
</system.web> 
</configuration>


如果是IIS7,则需要在<system.webServer></system.webServer>里加上<add name="ajax" verb="POST,Ajax" />

3对AjaxPro用到的页Page_Load事件中进行运行时注册。如:

protected void Page_Load(object sender,EventArgs e) 
      { 
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));//是Ajax.dll的 
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));//Ajaxpro.dll的 
      } 


//这的_Default是指页面类的类名,就是这个页面的名字。如是放在命名空间,则需要写上完整的命名空间(如:namespaces._Default)

4. 创建服务器端方法
[Ajax.AjaxMethod(HttpSessionStateRequirement.ReadWrite)]//这句一定要有,如果你是Ajaxpro.dll就写成[AjaxPro.AjaxMethod]
public string getValue(int a,int b)
{
//该方法我们将实现从客户端传入两个数,在服务器端相加计算后返回到客户端。这里可以写在原来的页后台中也可以单独写一个类。
return Convert.ToString(a+b);//这里返回的就是前台得到的值,反正参数已经进CS文件了,想怎么操作就怎么操作,包括读库都可以。

5. 客户端调用。
<%@ Page language="c#" Codebehind="WebPage1.aspx.cs" AutoEventWireup="false" Inherits="Web.WebPage1" %>
<script language="JavaScript">
function getValue()
{

//这里如果是AjaxPor.dll就加Web._Default.getValue,如果是Ajax.dll就不用加命名空间如下 _Default.getValue(1,2,getGroups_callback);//该处即调用服务器端的_Default.getValue方法。 //_Default就是写getValue的那个类,如果写在本页CS里就是WebPage1.getValue,1和2是参数。 //这在里边getGroups_callback指定的是个回调函数,以接受服务器端处理完后返回客户端结果。 } //这个方法用户接受并处理服务器端返回的结果。 function getGroups_callback(response) { var dt=response.value;//这个值就是最终传回来的值,想怎么用就怎么用,反正回前台了。 document.getElementById("Div_1").innerHTML=dt; } </script> <body> <div id="Div_1"> </div> <button </botton> </body>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读