学习篇:无刷新展示数据+分页+添加+修改+删除
2012-11-02 01:17
295 查看
首先说下用到的技术:EF+Jquery easyUI 没有用MVC3,先用的asp.net+.ashx 以后会做个MVC3的。
这里说的无刷新,就是通过jquery异步的方式,前后台来传数据。
1、首先,就是展示数据,这里我用了EF实体数据模型来生成EF对象,然后再对数据库的数据进行操作。
我这里用的是asp.net前台页面配合.ashx一般处理程序处理数据,来完成无刷新展示数据的效果。
展示数据,很容易的,用到jquery中的getJSON方法,将数据异步发送到一般处理程序处理,一般处理程序根据EF实体对象,获取数据库中的所有值。
将得到的数据,序列化成json格式的数据,返回到前台。
前台再拼接字符串,append()到指定的table表格中。展示数据,就大功告成了。
2、这里分页,用到了大牛写的一个分页的类,返回的是a标签,只要传入pageSize,currentPage,totalCount 就可以生产分页标签了。上面说到的取数据就不能一下全取出来,需要计算出这几个值,传入形成分页标签才成。
3、添加:这里用到了Jquery EasyUI插件,展示数据,弹出对话框都还比较的美观,而且用起来还算方便。 (dialog)
首先,想要添加用户,就需要一个表格来装用户信息,所以,我们就有了表格。
表格不能一开始就显示出来,需要我们点击“增加”按钮,才能够弹出来,所以,一开始就需要隐藏div;用到了$("#add_div").css("display", "none");来隐藏div
点击的时候显示出来就需要给按钮添加单击事件 $("#btnAddUser").click(function () {.......}。还要将隐藏的div展示出来$("#add_div").css("display", "block");
然后就是用到了easyui中的dialog()方法,展示出表格来。
接着就是填信息,取信息到后台,ef实体对象将其增加到数据库。
4、修改:稍微有点麻烦,但思想都是一样的。只是点击修改的时候,需要将当前要修改的内容先显示到表格中,这就需要传来id去到全部数据,所以写了一个GetModelById.ashx来取到这些数据。然后就是SaveChanges() 了 。
5、删除,链接传个id根据id来删除当前的数据,不过用的是异步,用的是remove()方法。关键找到要删除的tr标签。
具体代码如下:
PageNav.cs
OK了。。。。呵呵,我上面说的那些,可以不用看了,代码倒是可以看看的,我有注视的哦....
这里说的无刷新,就是通过jquery异步的方式,前后台来传数据。
1、首先,就是展示数据,这里我用了EF实体数据模型来生成EF对象,然后再对数据库的数据进行操作。
我这里用的是asp.net前台页面配合.ashx一般处理程序处理数据,来完成无刷新展示数据的效果。
展示数据,很容易的,用到jquery中的getJSON方法,将数据异步发送到一般处理程序处理,一般处理程序根据EF实体对象,获取数据库中的所有值。
将得到的数据,序列化成json格式的数据,返回到前台。
前台再拼接字符串,append()到指定的table表格中。展示数据,就大功告成了。
2、这里分页,用到了大牛写的一个分页的类,返回的是a标签,只要传入pageSize,currentPage,totalCount 就可以生产分页标签了。上面说到的取数据就不能一下全取出来,需要计算出这几个值,传入形成分页标签才成。
3、添加:这里用到了Jquery EasyUI插件,展示数据,弹出对话框都还比较的美观,而且用起来还算方便。 (dialog)
首先,想要添加用户,就需要一个表格来装用户信息,所以,我们就有了表格。
表格不能一开始就显示出来,需要我们点击“增加”按钮,才能够弹出来,所以,一开始就需要隐藏div;用到了$("#add_div").css("display", "none");来隐藏div
点击的时候显示出来就需要给按钮添加单击事件 $("#btnAddUser").click(function () {.......}。还要将隐藏的div展示出来$("#add_div").css("display", "block");
然后就是用到了easyui中的dialog()方法,展示出表格来。
接着就是填信息,取信息到后台,ef实体对象将其增加到数据库。
4、修改:稍微有点麻烦,但思想都是一样的。只是点击修改的时候,需要将当前要修改的内容先显示到表格中,这就需要传来id去到全部数据,所以写了一个GetModelById.ashx来取到这些数据。然后就是SaveChanges() 了 。
5、删除,链接传个id根据id来删除当前的数据,不过用的是异步,用的是remove()方法。关键找到要删除的tr标签。
具体代码如下:
PageNav.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Text; namespace WebApplication1.Common { public class PageNav { public static string ShowPageNavigate(int pageSize, int currentPage, int totalCount) { string redirectTo = ""; pageSize = pageSize == 0 ? 3 : pageSize; var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //总页数 var output = new StringBuilder(); if (totalPages > 1) { if (currentPage != 1) {//处理首页连接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首页</a> ", redirectTo, pageSize); } if (currentPage > 1) {//处理上一页的连接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>上一页</a> ", redirectTo, currentPage - 1, pageSize); } else { // output.Append("<span class='pageLink'>上一页</span>"); } output.Append(" "); int currint = 5; for (int i = 0; i <= 10; i++) {//一共最多显示10个页码,前面5个,后面5个 if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages) { if (currint == i) {//当前页处理 //output.Append(string.Format("[{0}]", currentPage)); output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage, pageSize, currentPage); } else {//一般页处理 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint); } } output.Append(" "); } if (currentPage < totalPages) {//处理下一页的链接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>下一页</a> ", redirectTo, currentPage + 1, pageSize); } else { //output.Append("<span class='pageLink'>下一页</span>"); } output.Append(" "); if (currentPage != totalPages) { output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末页</a> ", redirectTo, totalPages, pageSize); } output.Append(" "); } output.AppendFormat("第{0}页 / 共{1}页", currentPage, totalPages);//这个统计加不加都行 return output.ToString(); } } }
OK了。。。。呵呵,我上面说的那些,可以不用看了,代码倒是可以看看的,我有注视的哦....
相关文章推荐
- angular 请求网络数据 展示table 查询关键字 过滤 删除 添加 修改
- ListView控件刷新函数(添加,删除,修改数据时刷新)
- 利用Jquery+HTML静态模版实现数据的展示及无刷新增加,修改,删除,分页操作!
- jQuery无刷新翻页,更改排序,同时带添加,修改,删除数据
- 项目经验之:利用Jquery+HTML静态模版实现数据的展示及无刷新增加,修改,删除,分页操作!!!
- RecyclerView展示固定数据、上拉加载更多、下拉刷新、点击事件、长按点击事件、删除条目、刷新条目、添加条目、多条目加载
- 订单用户表2(用户名查询、手机号查询、选择城市、选择状态、选择月份、ID排序、添加数据、批量发货、批量删除、敏感字、修改数据)
- 添加列+修改列的数据类型+删除列+修改列的名称
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- easyui tree datagrid动态添加表头和表格数据,动态弹出框,修改和删除按钮
- C#对DataGridView中的数据进行添加、修改、删除操作
- 一个使用GridView显示数据,并且可以进行添加、修改、删除操作的例子
- 给jqGrid数据行添加修改和删除操作链接(之一)
- 使用了过滤条件的 ArrayAdapter,向源数据添加或删除数据后刷新时,界面不会同步更新
- [转]十天学习PHP之第六天(PHP)----学会添加删除修改数据 (2009-11-25 14:26)
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- LINUX C 数据文件的添加,修改,删除 实例
- 基本查询语句及利用SQL语句完成数据的添加、删除、修改操作