【ASP.NET 类库】当你懒得用 Json+Ajax 时,可以试试 AjaxPro

一般我们在页面调用Ajax时,需要通过 js 调用ajax ,接着后台处理得到的数据,然后返回数据,ajax 得到返回的数据进行处理。

然而有没有可以像调用方法一样来进行Ajax操作呢? AjaxPro 可以办到。简单示例如下,先看效果图:

核心就是 AjaxPro.2.dll 文件,简单配置一下就可以了,步骤如下:

1.引用 AjaxPro.2.dll 文件,配置 Web.config 文件:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpHandlers>
      <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
    </httpHandlers>
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <add verb="*" path="*.ashx" name="AjaxPro" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
    </handlers>
  </system.webServer>

</configuration>

2.然后就可以写想要处理的方法了:

namespace AjaxProTwo
{
    public class YlukaAjax
    {
        //AjaxPro.AjaxMethod
        [AjaxMethod]
        public People GetThePeopleInfo(string name)
        {
            People people = new People();
            people.Name = name;
            people.BlogPath = @"http://www.cnblogs.com/yc-755909659/";
            return people;
        }

        //改变了方法名,调用时使用 AjaxProTwo.YlukaAjax.ShowMessage()
        [AjaxMethod, AjaxNamespace("ShowMessage")]
        public string ShowTheMessage()
        {
            return "你好,我是叶小超。很高兴认识你!";
        }
    }
}

3.最后,Web页面后台文件引用方法的类:

    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //必须引用,不能放在 IsPostBack 中
            AjaxPro.Utility.RegisterTypeForAjax(typeof(YlukaAjax));
        }
    }

4.最后,js 调用就行了:

    <form id="form1" runat="server">
        <div>
            <input id="showInfo" type="button" onclick="show()" value="Show The Info" />
        </div>
        <div>
            <label>姓名:</label><label id="lb_Name" />
        </div>
        <div>
            <label>博客:</label><label id="lb_BlogPath" />
        </div>
        <div>
            <label>简介:</label><label id="lb_Message" />
        </div>
        <script type="text/javascript">
            function show() {
                var people = AjaxProTwo.YlukaAjax.GetThePeopleInfo("J灬叶小超").value;
                document.getElementById("lb_Name").innerHTML = people.Name;
                document.getElementById("lb_BlogPath").innerHTML = people.BlogPath;
                document.getElementById("lb_Message").innerHTML = AjaxProTwo.YlukaAjax.ShowMessage().value;
            }
        </script>
    </form>

源代码地址:AjaxProTwo.zip

参考文章:http://www.cnblogs.com/yaozhenfa/p/np_ajaxpro.html

时间: 2024-11-08 18:32:07

【ASP.NET 类库】当你懒得用 Json+Ajax 时,可以试试 AjaxPro的相关文章

.NET Core在类库中读取配置文件appsettings.json

在.NET Framework框架时代我们的应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别用 System.Configuration.ConfigurationManager.AppSettings["SystemName"];//读取appSettings配置 System.Configuration.ConfigurationManager.ConnectionStrin

查询复杂对象用respsbody转换成json串时,mybatis的延迟加载报错的解决方法

在查询数据时,如果你查询的是复杂的对象需要通过respsbody转换成json串时,mybatis用的延迟加载会报以下错误: 解决方法:第一步在RequestMapping(参数中加入 produces =  "application/json")表示将功能处理方法将生产json格式的数据,此时根据请求头中的Accept进行匹配,如请求头"Accept:application/json"时即可匹配.第二步:在实体类中前面加上注解@JsonInclude(JsonIn

Failed: error processing document #281: unexpected EOF,往MongoDB当中插入json文件时出现的错误。

往MongoDB当中插入json文件时提示的错误(我的操作系统是win10): 当时的执行命令是:mongoimport -d test -c restaurants d://primer-dataset.json 之后将 primer-dataset.json文件存入文件夹当中就可以成功插入了,执行命令为:mongoimport -d test -c restaurants d://mongoDB/primer-dataset.json 成功提示如下: 个人感觉是应该是路径选择出现的问题,我把

Go语言和ASP.NET的一般处理程序在处理WEB请求时的速度比较

Go语言和ASP.NET的一般处理程序在处理WEB请求时的速度比较 1.首先写一个Go语言的简单WEB程序,就返回一个HelloWord! package main import ( f "fmt" "log" "net/http" // "strings" ) func sayhelloName(w http.ResponseWriter, r *http.Request) { // r.ParseForm() // f.P

spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式

spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式 在类名,接口头上注解使用在 @JsonIgnoreProperties(value={"comid"}) //希望动态过滤掉的属性 例 @JsonIgnoreProperties(value={"comid"}) public interface 接口名称{ } @JsonIgnoreProperties(value={"comid"}) public class 类名{

反序列化json串时限定字段不能为空

设计Json Api时,总会遇到将Json字符串转化为Java 对象,然后再处理业务逻辑.但对象中的某些字段我们不希望它们为空,这就需要我们对Java对象的字段进行校验.如果对象中包含多级对象,这样校验起来就非常麻烦. 我使用Google的gson进行json的序列化和反序列化操作,所以就想到gson是否具有这样的过滤机制,查看了好久的api,无奈也没有什么收获,所以就想到自己修改gson代码,增加这样一个功能.实现方式类似gson中的@SerializedName和@Expose等,采用注解实

PHP“Cannot use object of type stdClass as array” (php在调用json_decode从字符串对象生成json对象时的报错)

php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误 错误:Cannot use object of type stdClass as array 产生原因: +展开 -PHP $res = json_decode($res); $res['key']; //把 json_decode() 后的对象当作数组使用. 解决方法(2种):1.使用 json_decode($d, true).就是使json_decode 的第二个变量设置为 tru

SpringMVC 避免IE执行AJAX时,返回JSON出现下载文件

<?xml version="1.0" encoding="UTF-8"?> <!-- SpringMVC配置文件 --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3

struts2,json,ajax整合内容记录

使用ssh三大框架整合时关于struts2,json,ajax整合内容记录.这里写主要部分代码 action部分: 注意事项,action部分的返回值要有set和get方法,否则会报错. package com.hcj.action; import net.sf.json.JSONObject; import com.hcj.dto.User; import com.hcj.service.UserService; import com.opensymphony.xwork2.ActionSup