asp.net的简单分页程序
*.apsx页面
1: <%@ Page Language="C#" Debug ="true" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2:
3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4:
5: <html xmlns="http://www.w3.org/1999/xhtml" >
6: <head runat="server">
7: <title>[xtyang]</title>
8: <script runat ="server">
9: </script>
10: </head>
11: <body>
12: <form id="form1" runat="server">
13: <div>
14:
15: </div>
16: <div runat ="server" id="div_test">
17: <table border="1">
18: <%
19:
20: for (int i = 0; i < lst_pwd.Count;i++ )
21: {
22: %>
23: <tr><td><% =lst_id[i] %></td><td><%=lst_name[i] %></td><td><%=lst_pwd[i] %></td></tr>
24: <%
25: }
26: %>
27: <tr>
28: <td><a href="Default.aspx?currentpage=<%=0 %>">FirstPage</a></td>
29: <td><a href="Default.aspx?currentpage=<%=currentpage==pagecount?currentpage=pagecount:currentpage+1 %>">
30: Nextpage</a></td>
31: <td><a href="Default.aspx?currentpage=<%=currentpage==0?currentpage=0:currentpage-1 %>">Prepage</a></td>
32: <td><a href="Default.aspx?currentpage=<%=pagecount %>">EndPage</a></td>
33: </tr>
34: <%
35: %>
36: </table>
37: </div>
38: </form>
39: </body>
40: </html>
*.aspx.cs页面
1: using System;
2: using System.Data;
3: using System.Collections;
4: using System.Collections.Generic;
5: using System.Configuration;
6: using System.Web;
7: using System.Web.Security;
8: using System.Web.UI;
9: using System.Web.UI.WebControls;
10: using System.Web.UI.WebControls.WebParts;
11: using System.Web.UI.HtmlControls;
12: using MySql.Data.MySqlClient;
13:
14: public partial class _Default : System.Web.UI.Page
15: {
16: //next variable should be modify depend you need.
17: public List<string> lst_name = new List<string>();
18: public List<string> lst_pwd = new List<string>();
19: public List<int> lst_id = new List<int>();
20: public string tablename="userinfo";
21: public int pagesize=3;
22:
23:
24: //next variable donnot need to modify.
25: public int currentpage = 0;//current page num.!!!
26: public int pagecount;//the count of page to be displayed
27: private int maxcount;//the count of the data.
28:
29:
30:
31: protected void Page_Load(object sender, EventArgs e)
32: {
33:
34:
35: div_page dp = new div_page();
36: currentpage = Convert.ToInt32(Request["currentpage"]);
37:
38: string str_sql_count = "select * from "+tablename;
39: DataSet ds_count = (DataSet)dp.exec_sql(str_sql_count, "read");
40: maxcount = (int)ds_count.Tables[0].Rows.Count;
41: if (maxcount / pagesize == 0)
42: {
43: pagecount = (maxcount / pagesize) - 1;
44: }
45: else
46: {
47: pagecount = (maxcount / pagesize);
48: }
49:
50:
51: string str_sql_read = "select * from "+tablename+" limit " + currentpage * pagesize + "," + pagesize;
52: DataSet ds_res = (DataSet)dp.exec_sql(str_sql_read, "read");
53: foreach (DataRow dr in ds_res.Tables[0].Rows)
54: {
55:
56: //next sentence should be modified next time.
57: lst_id.Add((int)dr["id"]);
58: lst_name.Add((string)dr["name"]);
59: lst_pwd.Add((string)dr["password"]);
60: }
61:
62: }
63: }
64:
65: public class div_page
66: {
67:
68: private object res;//the result of return.
69:
70: /// <summary>
71: /// the function to execute sql sentence.
72: /// </summary>
73: /// <param name="str_sql_exec"></param>
74: /// <param name="str_opt"></param>
75: /// <returns>object</returns>
76: public object exec_sql(string str_sql_exec, string str_opt)
77: {
78: string str_conn = "Host=localhost;uid=***;pwd=***;database=***";
79: using (MySqlConnection mysql_conn = new MySqlConnection(str_conn))
80: {
81: switch (str_opt)
82: {
83: case "read":
84: using (MySqlDataAdapter da = new MySqlDataAdapter(str_sql_exec, mysql_conn))
85: {
86: DataSet ds = new DataSet();
87: da.Fill(ds);
88: res = ds;
89: }
90: break;
91: case "update":
92: mysql_conn.Open();
93: using (MySqlCommand mycmd = new MySqlCommand(str_sql_exec, mysql_conn))
94: {
95: res = mycmd.ExecuteNonQuery();
96: }
97: break;
98: case "delete":
99: mysql_conn.Open();
100: using (MySqlCommand mycmd = new MySqlCommand(str_sql_exec, mysql_conn))
101: {
102: res = mycmd.ExecuteNonQuery();
103: }
104: break;
105: case "insert":
106: mysql_conn.Open();
107: using (MySqlCommand mycmd = new MySqlCommand(str_sql_exec, mysql_conn))
108: {
109: res = mycmd.ExecuteNonQuery();
110: }
111: break;
112: default:
113: break;
114: }
115:
116: }
117: return res;
118:
119: }
120: }
asp.net的简单分页程序的更多相关文章
- 用Asp.net实现简单的文字水印
用Asp.net实现简单的文字水印 经常看见MOP上有人贴那种动态的图片,就是把一个字符串作为参数传给一个动态网页,就会生成一个带有这个字符串的图片,这个叫做文字水印.像什么原来的熊猫系列,还有后来 ...
- [ASP.NET]更简单的方法:FormsAuthentication登录ReturnUrl使用绝对路径
转自:http://www.cnblogs.com/dudu/p/formsauthentication-returnurl-absoluteuri.html [ASP.NET]更简单的方法:Form ...
- 【转】asp.net mvc3 简单缓存实现sql依赖
asp.net mvc3 简单缓存实现sql依赖 议题 随 着网站的发展,大量用户访问流行内容和动态内容,这两个方面的因素会增加平均的载入时间,给Web服务器和数据库服务器造成大量的请求压力.而大 ...
- ASP.Net MVC_DotNetZip简单使用方法,解决文件压缩的问题[转]
准备工作: 在vs工具栏中找到NuGet 下载DotNetZip 现在就可以使用DotNetZip强大的类库了,在这里我给出一些简单的使用. ? 1 2 3 4 5 6 7 8 9 10 11 ...
- Asp.Net MVC3 简单入门第一季(三)详解Controller之Filter
前言 前面两篇写的比较简单,刚开始写这个系列的时候我面向的对象是刚开始接触Asp.Net MVC的朋友,所以写的尽量简单.所以写的没多少技术含量.把这些技术总结出来,然后一简单的方式让更多的人很好的接 ...
- ASP.NET MVC4简单使用ELMAH记录系统日志
ASP.NET MVC4简单使用ELMAH记录系统日志 前言 在项目开发.测试以及已经上线的项目中都会存在bug,而如果我们在项目的各个阶段都能及时的监控系统出现的任何问题,那么对于我们开发人员来说完 ...
- C# Asp.net中简单操作MongoDB数据库(二)
C# Asp.net中简单操作MongoDB数据库(一) , mongodb数据库连接可以回顾上面的篇幅. 1.model类: public class BaseEntity { /// < ...
- C# Asp.net中简单操作MongoDB数据库(一)
需要引用MongoDB.Driver.dll.MongoDB.Driver.core.dll.MongoDB.Bson.dll三个dll. 1.数据库连接: public class MongoDb ...
- ASP.NET MVC 简单介绍①
ASP.NET MVC 简单介绍① 只做了重要描述,内容出自菜鸟教程网站内容. 目录 1布局 2HTML 帮助器 3.Razor 语法 4.添加样式 5.Layout 6. Controllers ...
随机推荐
- TextView 实现复制文本功能
Android api 11 以后可以直接设置 android:textIsSelectable="true" <TextView android:layout_width= ...
- C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令
如果下载多个文件的时候,有时候莫名其妙的出现500服务器错误,很有可能是没有设置KeepAlive 属性导致的. 出现应用程序未处理的异常:2015/1/6 11:40:56 异常类型:WebExce ...
- UVA 12906 Maximum Score 排列组合
Maximum Score Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/vie ...
- linux C(hello world)
1.使用vi/vim进行编写代码并保存为hello_world.c.如下: /* This is my first C program*/ #include <stdio.h> int m ...
- ios实例开发精品源码文章推荐
iOS源码:游戏引擎-推箱子游戏 http://www.apkbus.com/android-106392-1-11.html iOS源码:进度条-Colorful ProgressView http ...
- 剑指 offer set 10 栈的压入、弹出序列
总结 1. 通过按位对比来判断, 没有更优的方法了
- 进程产生的三种方式:fork、system和exec
1.fork()方式 fork()函数以父进程为蓝本复制一个进程,其ID号与父进程ID号不同.在Linux环境下,fork()是以写复制实现的,只有内存等与父进程不同,其他与父进程共享,只有在父进程或 ...
- 高级进程间通信之UNIX域套接字
UNIX域套接字用于在同一台机器上运行的进程之间的通信.虽然因特网域套接字可用于同一目的,但UNIX域套接字的效率更高.UNIX域套接字仅仅复制数据:它们并不执行协议处理,不需要添加或删除网络报头,无 ...
- JVM剖析
JVM剖析 这篇文章详细解释了Java虚拟机的内部架构.以下这幅图展示了Java虚拟机里面的关键组件(是依据Java SE 7版本的Java虚拟机). 这些组件将在下面的两个章节一一展开.第一章节涵盖 ...
- C++删除字符串中特定的字符
原文:https://snipt.net/aolin/c-6/ //处理string类型的方法del_sp(string &str)待测试 //处理C-Style的方法可用,可以考虑将该方法改 ...