zoukankan      html  css  js  c++  java
  • ajaxpro 的一些用法,是在vs.net2003上

    1、在webconfig中加入:
                    <!--
                    让asp.net把任何匹配到特定的路径(ajax/*.ashx)请求发送到Ajax.PageHandlerFactory产生的HttpHandle,
                    而不再是默认的Handler factory。
                    你不需要创建ajax子目录,这是一个只用来临时使用的虚拟的目录,
                    因此别的HttpHandler可以用他们自己的目录来使用.ashx扩展名的文件。
    -->
                    <httpHandlers>
                            <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/>
                    </httpHandlers>


    2.在要使用ajax的页面的load事件中加入:
    Utility.RegisterTypeForAjax(typeof(ClassName));
    需添加using AjaxPro;

    3.在被javascript调用的函数前加:[AjaxMethod]标记

    4.用javascript调用:Namespace.ClassName.Function();
            异步调用:
            Sample.ServerSideAdd(100,99, ServerSideAdd_CallBack);

            function ServerSideAdd_CallBack(response){
             if (response.error != null){
              alert(response.error);
              return;
             }
             alert(response.value);
            }

            这个callback函数接受一个带有四个关键属性的response对象:

            value:服务器端函数执行的返回值(可能是一个字符串、自定义对象或者dataset)
            error:如果发生错误,则返回错误信息.
            request:原始的xmlHttpRequest请求
            context:一个上下文对象


    说明:
    Ajax可以支持除了我们上面ServerSideAdd函数返回的Int值以外很多类型。他可以直接支持integers, strings, double, booleans, DateTime, DataSets 和 DataTables,也支持简单的自定义类型和数组。其他的类型通过其ToString方式来返回字符串。

    在方法中使用Session需要指明:
    Ajax.AjaxMethod(HttpSessionStateRequirement.Read)] 还可以是Write and ReadWrite

    还可以设置属性供客户端调用
    [AjaxPro.AjaxProperty()]
    public string UserName
    {
       set
       {
          Session["UserName"] = value;
        }
        get
        {
          return Session["UserName"].ToString();
        }
    }

    返回DataTable到客户端:
       tab = RYCSearch.Market.FrmTECDoc.GetInfo(docid).value; 
       tab是一个DataTable,
       则:tab.Rows.length 为记录数
       读取记录中的数据:
       dr = tab.Rows[0];
       document.all.Form1.txtLockBar.value = dr["LOCKBAR"];


     

  • 相关阅读:
    项目spring boot 写es hbase 运行内存溢出
    spring boot项目启动报错
    线程的创建启动及线程池的使用
    ajax 跨域问题处理
    spring @Value("${name}")使用
    平时服务正常,突然挂了,怎么重启都起不来,查看日志Insufficient space for shared memory file 内存文件空间不足
    oracle 特殊符号替换删除处理
    Linux——CentOS 7 systemctl和防火墙firewalld命令
    linux 查看并对外开放端口(防火墙拦截处理)
    SpringBoot 使用 Gson 序列化(禁用 Jackson)
  • 原文地址:https://www.cnblogs.com/ballpenxp/p/823414.html
Copyright © 2011-2022 走看看