mvc php 分页,MVC+jQuery.Ajax异步实现增删改查和分页_jquery

本文实例为大家分享了MVC+jQuery.Ajax异步实现增删改查和分页的具体代码,供大家参考,具体内容如下

1、Model层代码

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Collections.Generic;

using MvcExamples;

using System.Web.Mvc;

namespace MvcExamples.Web.Models

{

public class StudentModels

{

/// /// 获取学生信息列表

///

public ListStudentList { get; set; }

/// /// 获取教工信息列表

///

public ListTeacherList { get; set; }

/// /// 获取学生信息列表(分页)

///

public PagedListGetStudentList { get; set; }

}

}

2、View层代码

" %>

Index

MVC 演示

学生表

学号

姓名

性别

生日

班级

操作

修改

&nbsp

删除

全选

学生表

学号

姓名

性别

生日

班级

老师表

编号

姓名

性别

生日

职称

所在部门

姓名:

性别:

生日:

班级:

3、Controller层代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using System.Web.Mvc.Ajax;

namespace MvcExamples.Web.Controllers

{

public class StudentController : Controller

{

//

// GET: /Student/

MvcExamples.BLL.Student _Student = new MvcExamples.BLL.Student();

MvcExamples.BLL.Teacher _Teacher = new MvcExamples.BLL.Teacher();

/// /// 演示

///

///

///

///

public ActionResult Index(int? pi, string sclass)

{

int PageIndex = pi ?? 1;

int PageSize = 5;

string sClass = sclass == null ? "95031" : sclass;

MvcExamples.Web.Models.StudentModels _StudentModels = new MvcExamples.Web.Models.StudentModels();

_StudentModels.StudentList = _Student.GetModelList("sclass=" + sClass);

_StudentModels.TeacherList = _Teacher.GetModelList("tsex='男'");

_StudentModels.GetStudentList = new PagedList(_Student.GetModelList("sclass=" + sClass).AsQueryable(), PageIndex, PageSize);

return View(_StudentModels);//返回一个Model

}

/// /// 修改学生信息

///

///

///

///

///

///

///

public ActionResult UpdateStudent(string no, string name, string sex, string birsthday, string sclass)

{

MvcExamples.Model.Student _student = new MvcExamples.Model.Student();

_student.sno = no;

_student.sname = name;

_student.ssex = sex;

_student.sbirthday = Convert.ToDateTime(birsthday);

_student.sclass = sclass;

_Student.Update(_student);

JsonResult json = new JsonResult();

json.Data = new

{

result = "true"

};

return json;

}

/// /// 删除学生信息

///

///

///

public ActionResult DeleteStudent(string no)

{

bool IsDelete= _Student.Delete(no);

JsonResult json = new JsonResult();

return json;

if (IsDelete)

{

json.Data = new

{

result = "true"

};

}

else

{

json.Data = new

{

result ="false"

};

}

return json;

}

/// /// 添加学生信息

///

///

///

///

///

///

///

public ActionResult AddStudent(string no, string name, string sex, string birsthday, string sclass)

{

MvcExamples.Model.Student _student = new MvcExamples.Model.Student();

_student.sno = no;

_student.sname = name;

_student.ssex = sex;

_student.sbirthday = Convert.ToDateTime(birsthday);

_student.sclass = sclass;

_Student.Add(_student);

JsonResult json = new JsonResult();

json.Data = new

{

result = "true"

};

return json;

}

/// /// 提供弹出窗口的数据

///

///

///

public ActionResult WindowData(int id)

{

JsonResult json = new JsonResult();

//这里给json数据(这里只是演示,下面数据是模拟的)

json.Data = new

{

name = "张三",

sex = "男"

};

return json;

}

}

}

4、两个分页辅助类PagedList和MikePagerHtmlExtensions

PagedList辅助类

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Collections.Generic;

using System.Collections.Specialized;

namespace System.Web.Mvc

{

public interface IPagedList

{

int TotalPage //总页数

{

get;

}

int TotalCount

{

get;

set;

}

int PageIndex

{

get;

set;

}

int PageSize

{

get;

set;

}

bool IsPreviousPage

{

get;

}

bool IsNextPage

{

get;

}

}

public class PagedList: List, IPagedList

{

public PagedList(IQueryablesource, int? index, int? pageSize)

{

if (index == null) { index = 1; }

if (pageSize == null) { pageSize = 10; }

this.TotalCount = source.Count();

this.PageSize = pageSize.Value;

this.PageIndex = index.Value;

this.AddRange(source.Skip((index.Value - 1) * pageSize.Value).Take(pageSize.Value));

}

public int TotalPage

{

get { return (int)System.Math.Ceiling((double)TotalCount / PageSize); }

}

public int TotalCount

{

get;

set;

}

/// ///

///

public int PageIndex

{

get;

set;

}

public int PageSize

{

get;

set;

}

public bool IsPreviousPage

{

get

{

return (PageIndex > 1);

}

}

public bool IsNextPage

{

get

{

return ((PageIndex) * PageSize) < TotalCount;

}

}

}

public static class Pagination

{

public static PagedListToPagedList(this IOrderedQueryablesource, int? index, int? pageSize)

{

return new PagedList(source, index, pageSize);

}

public static PagedListToPagedList(this IOrderedQueryablesource, int? index)

{

return new PagedList(source, index, 10);

}

public static PagedListToPagedList(this IQueryablesource, int? index, int? pageSize)

{

return new PagedList(source, index, pageSize);

}

public static PagedListToPagedList(this IQueryablesource, int? index)

{

return new PagedList(source, index, 10);

}

}

}

MikePagerHtmlExtensions辅助类

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Web.Mvc;

using System.Web.Routing;

using System.Text;

namespace System.Web.Mvc

{

public static class MikePagerHtmlExtensions

{

#region MikePager 分页控件

public static string MikePager(this HtmlHelper html, PagedListdata)

{

string actioinName = html.ViewContext.RouteData.GetRequiredString("action");

return MikePager(html, data, actioinName);

}

public static string MikePager(this HtmlHelper html, PagedListdata, object values)

{

string actioinName = html.ViewContext.RouteData.GetRequiredString("action");

return MikePager(html, data, actioinName, values);

}

public static string MikePager(this HtmlHelper html, PagedListdata, string action)

{

return MikePager(html, data, action, null);

}

public static string MikePager(this HtmlHelper html, PagedListdata, string action, object values)

{

string controllerName = html.ViewContext.RouteData.GetRequiredString("controller");

return MikePager(html, data, action, controllerName, values);

}

public static string MikePager(this HtmlHelper html, PagedListdata, string action, string controller, object values)

{

return MikePager(html, data, action, controller, new RouteValueDictionary(values));

}

public static string MikePager(this HtmlHelper html, PagedListdata, RouteValueDictionary values)

{

string actioinName = html.ViewContext.RouteData.GetRequiredString("action");

return MikePager(html, data, actioinName, values);

}

public static string MikePager(this HtmlHelper html, PagedListdata, string action, RouteValueDictionary values)

{

string controllerName = html.ViewContext.RouteData.GetRequiredString("controller");

return MikePager(html, data, action, controllerName, values);

}

public static string MikePager(this HtmlHelper html, PagedListdata, string action, string controller, RouteValueDictionary valuedic)

{

int start = (data.PageIndex - 5) >= 1 ? (data.PageIndex - 5) : 1;

int end = (data.TotalPage - start) > 9 ? start + 9 : data.TotalPage;

RouteValueDictionary vs = valuedic == null ? new RouteValueDictionary() : valuedic;

var builder = new StringBuilder();

builder.AppendFormat("

");

if (data.IsPreviousPage)

{

vs["pi"] = 1;

builder.Append(Html.LinkExtensions.ActionLink(html, "首页", action, controller, vs, null));

builder.Append(" ");

vs["pi"] = data.PageIndex - 1;

builder.Append(Html.LinkExtensions.ActionLink(html, "上一页", action, controller, vs, null));

builder.Append(" ");

}

for (int i = start; i <= end; i++) //前后各显示5个数字页码

{

vs["pi"] = i;

if (i == data.PageIndex)

{

builder.Append("" + i.ToString() + " ");

}

else

{

builder.Append(" ");

builder.Append(Html.LinkExtensions.ActionLink(html, i.ToString(), action, controller, vs, null));

}

}

if (data.IsNextPage)

{

builder.Append(" ");

vs["pi"] = data.PageIndex + 1;

builder.Append(Html.LinkExtensions.ActionLink(html, "下一页", action, controller, vs, null));

builder.Append(" ");

vs["pi"] = data.TotalPage;

builder.Append(Html.LinkExtensions.ActionLink(html, "末页", action, controller, vs, null));

}

builder.Append(" 每页" + data.PageSize + "条/共" + data.TotalCount + "条 第" + data.PageIndex + "页/共" + data.TotalPage + "页");

return builder.ToString();

}

#endregion

}

}

效果图:

2016050910325622.jpg

2016050910325623.jpg

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值