Jquery easyui+Jsonp+asp.net+翻页 事件版

Jquery easyui+Jsonp+asp.net+翻页 事件版

说明

Jsonp原理介绍:http://www.jb51.net/article/31167.htm

说明:这个是纯事件翻页,如果正常开发(小弟才疏学浅自己认为的),是需要靠参数传递来翻页不需要自己定义翻页事件,我这里是为了了解才这样做的,具体请看Test1/Default.aspx.exclude

Jquery easyui+Jsonp+asp.net+翻页 事件版_第1张图片

构造文件

basic.html

显示页面




    
    用户信息列表
    
    
    
    
    


    

用户信息列表

全部用户信息列表.
用户ID 用户名称 年龄 手机 地址
用户ID:
用户名称:
年龄:
手机:
地址:
用户类型:
Save Cancel

Handler.ashx

操作数据页面

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Reflection;
using System.Collections.Generic;
using System.Transactions;

public class Handler : IHttpHandler {

    public List users = new List();
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "application/jsonp";

        string cmd = context.Request["cmd"];
        if (!string.IsNullOrEmpty(cmd))
        {
            MethodInfo Method = this.GetType().GetMethod(cmd,BindingFlags.NonPublic|BindingFlags.Instance);
            if (Method!=null)
            {
                Method.Invoke(this, new object[] { context });
            }
        }
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

    void GetUserType(HttpContext context)
    {
        string callback = context.Request["callback"];
        string json = callback + "([" +
                "{\"id\":1,\"text\":\"普通用户\"}," +
                "{\"id\":2,\"text\":\"高级用户\"}," +
                "{\"id\":3,\"text\":\"铜牌用户\"}," +
                "{\"id\":4,\"text\":\"银牌用户\"}," +
                "{\"id\":5,\"text\":\"金牌用户\"}," +
                "{\"id\":6,\"text\":\"钻石用户\"}," +
            "])";
        context.Response.Write(json);
        context.Response.End();
    }

    void GetUserName(HttpContext context)
    {
        string callback = context.Request["callback"];
        users = context.Cache["users"] as List;
        if (users==null)
        {
            users = new List();
        }
        string json = callback + "({\"total\":" + users.Count + ",\"rows\":[";
        int start = int.Parse(context.Request["start"]);
        int end = int.Parse(context.Request["end"]);
        if (end>users.Count)
        {
            end = users.Count;
        }
        for (int i = start; i < end; i++)
        {
            User user = users[i];
            json += "{\"userId\":" + user.userId + ",\"userName\":\"" + user.userName + "\",\"age\":" + user.age + ",\"phone\":\"" + user.phone + "\",\"address\":\"" + user.address + "\"},";
        }
        json += "]})";
        //string json = callback+"({\"total\":28,\"rows\":["+
        //        "{\"userId\":1,\"userName\":\"A1\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":2,\"userName\":\"A2\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":3,\"userName\":\"A3\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":4,\"userName\":\"A4\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":5,\"userName\":\"A5\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":6,\"userName\":\"A6\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":7,\"userName\":\"A7\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":8,\"userName\":\"A8\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":9,\"userName\":\"A9\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":10,\"userName\":\"A10\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":11,\"userName\":\"A11\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"},"+
        //        "{\"userId\":12,\"userName\":\"A12\",\"age\":18,\"phone\":\"15612345678\",\"address\":\"XXXXXXX\"}"+
        //    "]})";
        context.Response.Write(json);
        context.Response.End();
    }

    void UpdateUserName(HttpContext context)
    {
        string callback = context.Request["callback"];
        users = context.Cache["users"] as List;
        if (users == null)
        {
            users = new List();
        }
        string userId = context.Request["userId"];
        string userName = context.Request["userName"];
        string age = context.Request["age"];
        string phone = context.Request["phone"];
        string address = context.Request["address"];
        string type = context.Request["type"];
        //string json = callback + "({\"total\":" + users.Count + ",\"rows\":[";
        foreach (User user in users)
        {
            if (user.userId == int.Parse(userId))
            {
                user.userName = userName;
                user.age = int.Parse(age);
                user.phone = phone;
                user.address = address;
                user.type = int.Parse(type);
            }
        }
        context.Cache.Remove("users");
        context.Cache.Insert("users",users);
        //foreach (User user in users)
        //{
        //    json += "{\"userId\":" + user.userId + ",\"userName\":\"" + user.userName + "\",\"age\":" + user.age + ",\"phone\":\"" + user.phone + "\",\"address\":\"" + user.address + "\"},";
        //}
        //json += "]})";
        context.Response.Write(callback + "(1)");
        context.Response.End();
    }

    void SaveUserName(HttpContext context)
    {
        string callback = context.Request["callback"];
        users = context.Cache["users"] as List;
        if (users == null)
        {
            users = new List();
        }
        string userId = context.Request["userId"];
        string userName = context.Request["userName"];
        string age = context.Request["age"];
        string phone = context.Request["phone"];
        string address = context.Request["address"];
        string type = context.Request["type"];
        //string json = callback + "({\"total\":" + users.Count + ",\"rows\":[";
        using (TransactionScope transaction = new TransactionScope())
        {
            User _users = new User(users[users.Count - 1].userId + 1, userName, int.Parse(age), phone, address,int.Parse(type));
            users.Add(_users);
            context.Cache.Remove("users");
            context.Cache.Insert("users", users);
            transaction.Complete();
        }
        //foreach (User user in users)
        //{
        //    json += "{\"userId\":" + user.userId + ",\"userName\":\"" + user.userName + "\",\"age\":" + user.age + ",\"phone\":\"" + user.phone + "\",\"address\":\"" + user.address + "\"},";
        //}
        //json += "]})";
        context.Response.Write(callback + "(1)");
        context.Response.End();
    }

    void DeleteUserName(HttpContext context)
    {
        string callback = context.Request["callback"];
        users = context.Cache["users"] as List;
        if (users == null)
        {
            users = new List();
        }
        string userId = context.Request["userId"];
        //string json = callback + "({\"total\":" + users.Count + ",\"rows\":[";
        User _user = null;
        foreach (User user in users)
        {
            if (user.userId == int.Parse(userId))
            {
                _user = user;
            }
        }
        users.Remove(_user);
        context.Cache.Remove("users");
        context.Cache.Insert("users", users);
        //foreach (User user in users)
        //{
        //    json += "{\"userId\":" + user.userId + ",\"userName\":\"" + user.userName + "\",\"age\":" + user.age + ",\"phone\":\"" + user.phone + "\",\"address\":\"" + user.address + "\"},";
        //}
        //json += "]})";
        context.Response.Write(callback+"(1)");
        context.Response.End();
    }

    void GetUser(HttpContext context)
    {
        string callback = context.Request["callback"];
        users = context.Cache["users"] as List;
        if (users == null)
        {
            users = new List();
        }
        string userId = context.Request["userId"];
        string json = callback + "(";
        User _user = null;
        foreach (User user in users)
        {
            if (user.userId == int.Parse(userId))
            {
                _user = user;
            }
        }
        json += "{\"userId\":" + _user.userId + ",\"userName\":\"" + _user.userName + "\",\"age\":" + _user.age + ",\"phone\":\"" + _user.phone + "\",\"address\":\"" + _user.address + "\",\"type\":\"" + _user.type + "\"}";
        json += ")";
        context.Response.Write(json);
        context.Response.End();
    }

}


Global.asax

初始化数据

<%@ Application Language="C#" %>



完成

Ok,用事件翻页已经好了,下载Demo

Jquery easyui+Jsonp+asp.net+翻页 事件版_第2张图片


你可能感兴趣的:(Jquery easyui+Jsonp+asp.net+翻页 事件版)