MVC-Ajax-jquery分页 (服务器返回一个json数据,客户端解析)

30 篇文章 0 订阅
12 篇文章 0 订阅

《1》

控制器

<pre class="csharp" name="code">using System;
using System.Collections.Generic;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Script.Serialization;

namespace MvcTest.Controllers
{
    public class TestController : Controller
    {
        salesEntities db = new salesEntities();
        public ActionResult Index()
        {
            //展示数据
            var query3 = (from a in db.T_User
                          select a).OrderBy(r => r.Id).Take(20);
            
            return View(query3); 
        }
		//Ajax请求的数据 (做分页的)
        public JsonResult Paging(int pageIndex) //用户传递一个当前页码过来
        {
            var query = ((from a in db.T_User           //根据当前页来查询数据
                          where a.Id > pageIndex * 5
                          select a).Take(5)).ToList();

            JsonResult json = new JsonResult();
	    json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;  //允许来自客户端的HTTP GET请求
            json.Data = new   
            {
                result = query
            };
            return json;  //返回一个Json数据
		}
		
		
		//--------------------------------------------------------------
		
		//--------------------------------------增
		
		 [HttpGet]                     
        public ActionResult Add()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Add(T_User u)
        {
            db.Entry(u).State = System.Data.EntityState.Added;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
		
		//--------------------------------------删
		
		[HttpGet]                      
        public ActionResult Del(int Id)
        {
            T_User u = db.T_User.SingleOrDefault(r => r.Id == Id);

            return View(u);
        }
        [HttpPost]
        public ActionResult Del(T_User u)
        {
            T_User uu = db.T_User.SingleOrDefault(r => r.Id == u.Id);
            db.Entry(uu).State = System.Data.EntityState.Deleted;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
       
		//--------------------------------------改
		
        public ActionResult Edit(int Id)
        {
            T_User u = db.T_User.SingleOrDefault(r => r.Id == Id);
            return View();
        }
        [HttpPost]
        public ActionResult Edit(T_User u)
        {
            
            db.Entry(u).State = System.Data.EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");

        }
	}	
}

 

Index视图

@model IEnumerable<MvcTest.T_User>
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="~/Scripts/jquery-1.8.2.js"></script>
</head>
<body>
    @*<div>@RenderPage("~/Views/Test/GGGGG.cshtml")</div>*@
    <table id="t1">
        @*@foreach (var i in Model)
        {
            <tr><td>@i.Id</td><td>@i.UserName</td><td>@i.Password</td><td>@i.Errors</td><td>@i.Session</td><td><a href="/Test/Del/@i.Id">删</a> @Html.ActionLink("添", "Add")
                @Html.ActionLink("改", "Edit", new { id=@i.Id})</td></tr>
        }*@
    </table> 
</body>
</html>
<script type="text/javascript">
    $(function () {
        $.get("/Test/Paging", { "pageIndex": 1 }, function (data) {
           
            var jsonData = data.result;
            
            $.each(jsonData, function (key, val) {
              
                var strTb = "<tr><td>" + val.Id + "</td><td>" + val.UserName + "</td><td>" + val.Password + "</td><td>" + val.Errors + "</td><td>" + val.Session + "</td></td><td><a href='/Test/Add'>添</a><td><a href=/Test/Del/" + val.Id + ">删</a></td><td><a href=/Test/Edit/" + val.Id + ">改</a></td></tr>";
                $("#t1").append(strTb);
            })
            
        })
    })
</script>



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值