zoukankan      html  css  js  c++  java
  • Ajaxpro框架

    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>

    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]//这句一定要有,如果你是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 onclick=getValue()>开始 </botton>
    </body>

    现在我们来分析一下如果点击开始按钮都执行了些什么,首先在前台执行getValue()函数,getValue函数里的 _Default.getValue(1,2,getGroups_callback);会执行后台的CS函数,我觉得这里才是AJAX的精髓,因为这里 的执行是通过Ajax组件无刷新的执行后台CS函数的,通常我们要调用后台的CS函数都是通过正常方法刷新一下页面执行后台绑定好的CS函数,这里用 Ajax就不用刷新的执行后台的那个getValue函数了,1和2是参数,要在getValue里计算了,getGroups_callback这个参 数是必须要有了,要不然你在CS里传东西回来用什么接收呀,getValue函数在后台计算出结果来后,这种计算已经在后台了,想怎么算就怎么算,你想读 库都没问题,然后通过return返回值,这个值是什么都行,那怕是一段" <table> <tr> <td>HelloWorld </td> </tr> </table>"这样的HTML代码也行,前台用getGroups_callback()这个JS函数接收这个值,然后就是前台调用了, 想怎么用就怎么用了呗,随你喜欢,这就是AJAX运行的一个过程,从前台无刷新到后台
  • 相关阅读:
    AttributeError: 'DatabaseFeatures' object has no attribute 'autocommits_when_autocommit_is_off'
    mac 添加adb环境变量
    ios环境搭建
    接口自动化测试平台介绍
    听风系统介绍
    nginx启动报错整理
    Mongodb: Sort operation used more than the maximum 33554432 bytes of RAM
    Mac上python 在终端使用pip3安装包报ConnectTimeoutError错误
    crontab -让服务器执行定时任务
    koajs项目之memcached实现session共享
  • 原文地址:https://www.cnblogs.com/liufei88866/p/1245336.html
Copyright © 2011-2022 走看看