jquery+NHibernate3.3.3+MVC的分页效果
目录结构
先设计数据表结构
- DROP SEQUENCE BDLLY_2V.SEQ_CUSTOMER;
- CREATE SEQUENCE BDLLY_2V.SEQ_CUSTOMER
- START WITH 6
- MAXVALUE 999999999999999999999999999
- MINVALUE 0
- NOCYCLE
- NOCACHE
- NOORDER;
- DROP TABLE BDLLY_2V.CUSTOMER CASCADE CONSTRAINTS;
- CREATE TABLE Customer
- (
- CustomerId INTEGER,
- CompanyName VARCHAR2(50),
- ContactName VARCHAR2(50),
- ContactTitle VARCHAR2(50),
- Address VARCHAR2(50),
- City VARCHAR2(30),
- Region VARCHAR2(20),
- PostalCode VARCHAR2(10),
- Country VARCHAR2(50),
- Phone VARCHAR2(15)
- );
- Insert into BDLLY_2V.CUSTOMER
- (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
- CITY, REGION, POSTALCODE, COUNTRY, PHONE)
- Values
- (1, ' Apple Inc.', 'Steve P.(aul) Jobs', 'iPhone Change the world', 'America in San Francisco, California',
- 'San Francisco', 'Buddhism', '', 'America', '');
- Insert into BDLLY_2V.CUSTOMER
- (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
- CITY, REGION, POSTALCODE, COUNTRY, PHONE)
- Values
- (2, 'Microsoft Inc.', 'Bill Gates', 'Personal Computer', 'Redmond, Washington America',
- 'Washington', 'Christianism', '', 'America', '');
- Insert into BDLLY_2V.CUSTOMER
- (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
- CITY, REGION, POSTALCODE, COUNTRY, PHONE)
- Values
- (3, 'Google', 'Lawrence Edward Page', 'Google Earth', 'Mountain view, Santa Clara County, California USA',
- 'County of Santa Clara', 'none', '', 'America', '');
- Insert into BDLLY_2V.CUSTOMER
- (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
- CITY, REGION, POSTALCODE, COUNTRY, PHONE)
- Values
- (4, 'Twitter', 'Evan Williams', 'what happening', 'America in San Francisco, California',
- 'San Francisco', 'none', '', 'America', '');
- Insert into BDLLY_2V.CUSTOMER
- (CUSTOMERID, COMPANYNAME, CONTACTNAME, CONTACTTITLE, ADDRESS,
- CITY, REGION, POSTALCODE, COUNTRY, PHONE)
- Values
- (5, 'Facebook', 'Mark Elliot Zuckerberg', ' Done is better than perfect.', 'Palo Alto, California, USA',
- 'alo Alto', 'none', '', 'America', '');
前端jquery
引用
- <script src="../../Scripts/jquery-1.8.2.min.js"></script>
- <script src="../../Scripts/jquery-pager.js" type="text/javascript"></script>
- <link href="../../Scripts/pager.css" rel="stylesheet" type="text/css" />
- <script lang="ja" type="text/javascript">
- //PageIndex当前页码
- //PageCount当前页数
- function init(PageIndex, PageCount) {
- var receive_url = "/Customer/GetMerchant?PageIndex=" + PageIndex + "&PageCount=" + PageCount;
- $.ajax({
- type: "GET",
- url: receive_url,
- cache: "false",
- success: function (data) {
- data = eval(data);
- //循环表格
- $("tbody").html("");
- var html = "";
- for (var i = 0; i < data.length; i++) {
- var json = null;
- json = data[i];
- var customId = json.CustomerId;
- var companyName = json.CompanyName;
- var contactName = json.ContactName;
- var contactTitle = json.ContactTitle;
- var address = json.Address;
- var city = json.City;
- var region = json.Region;
- var postalCode = json.PostalCode;
- var country = json.Country;
- var phone = json.Phone;
- html += "<tr><td>" + customId + "</td><td>" + companyName + "</td><td>" + contactName + "</td><td>" + contactTitle + "</td><td>" + address + "</td><td>" + city + "</td><td>" + region + "</td><td>" + postalCode + "</td><td>" + country + "</td><td>" + phone + "</td></tr>";
- }
- $("tbody").append(html);
- },
- error: function (XMLHttpRequest, textStatus, errorThrown) {
- alert("程序异常!");
- }
- });
- };
- $(document).ready(function () {
- //得到页面数据总数
- var result = null;
- $.ajax({
- type: "POST",
- url: "/Customer/GetPageCount",
- cache: "false",
- async: false,
- success: function (data) {
- result = eval(data);
- },
- error: function (XMLHttpRequest, textStatus, errorThrown) {
- alert("程序异常!");
- }
- });
- initPager(result, 1);
- });
- //RecordCount[总记录数] PageIndex[当前页码]
- function initPager(RecordCount, PageIndex) {
- $("#page-bottom").setPager({
- RecordCount: RecordCount,
- PageIndex: PageIndex,
- buttonClick: function (RecordCount, PageIndex) {
- initPager(RecordCount, PageIndex);
- }
- });
- //分页同时更新数据源
- init(PageIndex, 20);
- };
- </script>
hibernate.cfg.xml
- <?xml version="1.0" encoding="utf-8"?>
- <!--
- This template was written to work with NHibernate.Test.
- Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it
- for your own use before compile tests in VisualStudio.
- -->
- <!-- This is the System.Data.OracleClient.dll provider for Oracle from MS -->
- <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
- <session-factory name="NHibernateUI">
- <property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
- <property name="connection.connection_string">
- User ID=bdlly_2v;Password=gmgl;Data Source=glxt
- </property>
- <property name="show_sql">false</property>
- <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
- <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
- <!--添加下面这行代码,除此之外,其它都不用改动,当然,你也可以修改上面的数据库链接字符串-->
- <mapping assembly="NHibernate.Domain"/>
- </session-factory>
- </hibernate-configuration>
Entity:
namespace NHibernate.Domain
{
- public class Customer
- {
- public virtual int CustomerId { get; set; }
- public virtual string CompanyName { get; set; }
- public virtual string ContactName { get; set; }
- public virtual string ContactTitle { get; set; }
- public virtual string Address { get; set; }
- public virtual string City { get; set; }
- public virtual string Region { get; set; }
- public virtual string PostalCode { get; set; }
- public virtual string Country { get; set; }
- public virtual string Phone { get; set; }
- }
}
Mapping:
- <?xml version="1.0" encoding="utf-8" ?>
- <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Domain" namespace="NHibernate.Domain">
- <class name="NHibernate.Domain.Customer,NHibernate.Domain" table="Customer">
- <id name="CustomerId" column="CustomerId" type="int" unsaved-value="0">
- <generator class= "sequence">
- <param name= "sequence">SEQ_CUSTOMER</param>
- </generator>
- </id>
- <property name="CompanyName" column="CompanyName" type="string" />
- <property name="ContactName" column="ContactName" type="string" />
- <property name="ContactTitle" column="ContactTitle" type="string" />
- <property name="Address" column="Address" type="string" />
- <property name="City" column="City" type="string" />
- <property name="Region" column="Region" type="string" />
- <property name="PostalCode" column="PostalCode" type="string" />
- <property name="Country" column="Country" type="string" />
- <property name="Phone" column="Phone" type="string" />
- </class>
- </hibernate-mapping>
NHibernate.DataPortal:
- namespace NHibernate.DataPortal
- {
- public class CustomerOperator
- {
- private NHibernateHelper nhibernateHelper = new NHibernateHelper();
- protected ISession Session { get; set; }
- /// <summary>
- /// 打开Session
- /// </summary>
- public CustomerOperator()
- {
- this.Session = nhibernateHelper.GetSession();
- }
- /// <summary>
- /// 构造session
- /// </summary>
- /// <param name="session"></param>
- public CustomerOperator(ISession session)
- {
- this.Session = session;
- }
- /// <summary>
- /// 查询客户并返回所有的信息
- /// </summary>
- /// <returns></returns>
- public IList<Customer> GetCunstomers(int pageIndex, int pageCount)
- {
- IList<Customer> list = (IList<Customer>)Session.CreateQuery("FROM Customer")
- .SetFirstResult(pageCount * (pageIndex - ) + )
- .SetMaxResults(pageCount)
- .List<Customer>();
- return list;
- }
- /// <summary>
- /// 查询记录数
- /// </summary>
- /// <returns></returns>
- public Single GetCount()
- {
- IQuery q = Session.CreateQuery(@"SELECT t FROM Customer t");
- return Convert.ToSingle(q.List().Count);
- }
- }
- }
Controllers:
- namespace NHibernateUI.Controllers
- {
- public class CustomerController : Controller
- {
- //
- // GET: /Customer/
- public ActionResult Merchant()
- {
- return View();
- }
- /// <summary>
- /// 初始化数据
- /// </summary>
- /// <returns></returns>
- public ActionResult GetMerchant()
- {
- //请求当前页码和当前页数
- int pageIndex = Convert.ToInt32(Request.Params.Get("PageIndex"));
- int pageCount = Convert.ToInt32(Request.Params.Get("PageCount"));
- CustomerOperator oper = new CustomerOperator();
- IList<Customer> list = oper.GetCunstomers(pageIndex,pageCount);
- return Json(list, JsonRequestBehavior.AllowGet);
- }
- public ActionResult GetPageCount()
- {
- CustomerOperator oper=new CustomerOperator();
- Single s = oper.GetCount();
- return Json(s, JsonRequestBehavior.AllowGet);
- }
- }
- }
jquery+NHibernate3.3.3+MVC的分页效果的更多相关文章
- 分享5种风格的 jQuery 分页效果【附代码】
jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示 源码下载 各个 ...
- 5种风格的 jQuery 分页效果【附代码】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- 基于jquery 的分页插件,前端实现假分页效果
上次分享了一款jquery插件,现在依旧分享这个插件,不过上一次分享主要是用于regular框件,且每一页数据都是从后端获取过来的,这一次的分享主要是讲一次性获取完数据 然后手动进行分页.此需求基本上 ...
- jquery自定义插件实现分页效果
这节介绍如何自定义jquery插件,实现分页效果,话不多说,先看看实现的效果: 分页插件 实现的代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM ...
- 使用Jquery做分页效果
之前写过一个PHP 的分页效果,但是今天小伙伴和我说了一个不适用后台单纯用前段的JS来写分页,整理了一下,代码如下: html: <div id="containet"> ...
- MVC快速分页
.NET手记-ASP.NET MVC快速分页的实现 对于Web应用,展示List是很常见的需求,随之而来的常见的分页组件.jQuery有现成的分页组件,网上也有着大量的第三方分页组件,都能够快速实 ...
- MVC自定义分页
MVC自定义分页 之前我发表了一篇MVC无刷新分页的文章,里面用的是MvcPager控件,但是那个受那个控件限制,传值只能用PagedList,各方面都受到了限制,自由度不够高,现在还是做MVC无刷新 ...
- 基于存储过程的MVC开源分页控件--LYB.NET.SPPager
摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件MVCPager(http://www.webdiyer.com/)算 ...
- JQuery对ASP.NET MVC数据进行更新删除
以前学习ASP.NET MVC时,学习与应用,操作过数据显示,添加,编辑,更新和删除等功能. 很多方法是相通的,看自己是怎样来进行方便,快捷,高效率. 今天Insus.NET写的练习,是直接对绑定在T ...
随机推荐
- O-C相关-09-id 类型与应用
09-id 类型与应用 1, 使用 NSObject 访问子类对象方法 代码在编辑的时候, Xcode 会实时检查语法情况. 如果调用某个对象的方法, 在声明中没有该方法的声明, 那么就会报错. 但是 ...
- 两款web api 调试工具
两款web api 调试工具: Fiddler (http://www.telerik.com/fiddler) Postman(http://www.getpostman.com/) 资源: Fid ...
- UVA 12097 LA 3635 Pie(二分法)
Pie My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a numbe ...
- caffe源码阅读(3)-Datalayer
DataLayer是把数据从文件导入到网络的层,从网络定义prototxt文件可以看一下数据层定义 layer { name: "data" type: "Data&qu ...
- 用Session实现验证码
新建一个 ashx 一般处理程序 如: YZM.ashx继承接口 IRequiresSessionState //在一般处理程序里面继承 HttpContext context 为请求上下文,包含此次 ...
- Jquery div边框大全
网址 http://jquery.malsup.com/corner/ jQuery Corner是一款jQuery的插件,最初由Dave Methvin开发,但后在Malsup同志的协助下,进行了一 ...
- js在php 中出现 unterminated string literal 解决方法
出现这个问题就是空格造成的(可清空格符,换行符等) 示例代码如下: php 下报错 <?php echo "<a href=javascript:if(window.confir ...
- cli下的php(并传递参数)
传递参数有两种方式: 第一种使用文件操作,STDOUT作为标准输出,STDIN作为标准输入 使用fwrite($file,$string)作输出,使用fgets($file)作输入.这种应该算是继承自 ...
- windows下Apache配置SSL安全连接
什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www ...
- STM32启动过程--启动文件--分析
一.概述 1.说明 每一款芯片的启动文件都值得去研究,因为它可是你的程序跑的最初一段路,不可以不知道.通过了解启动文件,我们可以体会到处理器的架构.指令集.中断向量安排等内容,是非常值得玩味的. ST ...