using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
BindProduct("1");
}
private void BindProduct(string pageindex)
{
string str = ConfigurationManager.ConnectionStrings["studentCnn"].ConnectionString;
using (SqlConnection sqlCnn = new SqlConnection(str))
{
SqlDataAdapter da = new SqlDataAdapter("sp_Student_Select_by_Page_rowNumber", sqlCnn);
da.SelectCommand.Parameters.AddWithValue("@pageIndex", pageindex);
da.SelectCommand.Parameters.Add("@pageCount", SqlDbType.Int).Direction = ParameterDirection.Output;
da.SelectCommand.Parameters.AddWithValue("@pageSize", 2);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
da.Fill(ds);
this.DataList1.DataSource = ds.Tables[0].DefaultView;
this.DataList1.DataBind();
this.HiddenField1.Value = pageindex;
this.HiddenField2.Value = da.SelectCommand.Parameters["@pageCount"].Value.ToString();
}
} //绑定数据
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if(e.CommandName == "buy")
Response.Write(e.CommandArgument.ToString());
}
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
this.DataList1.EditItemIndex = e.Item.ItemIndex;
this.BindProduct(this.HiddenField1.Value);
}//编辑
protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
{
this.DataList1.EditItemIndex = -1;
this.BindProduct(this.HiddenField1.Value);
} //取消
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
string name = (e.Item.FindControl("TextBox1") as TextBox).Text;
string sex = (e.Item.FindControl("TextBox2") as TextBox).Text;
string age = (e.Item.FindControl("TextBox3") as TextBox).Text;
string str = ConfigurationManager.ConnectionStrings["studentCnn"].ConnectionString;
using (SqlConnection sqlCnn = new SqlConnection(str))
{
SqlCommand sqlcmm = sqlCnn.CreateCommand();
sqlcmm.CommandText = "update student set sname=@sname,sex=@sex,age=@age where
sid=@sid";
sqlcmm.Parameters.AddWithValue("@sname", name);
sqlcmm.Parameters.AddWithValue("@sex", sex);
sqlcmm.Parameters.AddWithValue("@age", age);
sqlcmm.Parameters.AddWithValue("@sid", e.CommandArgument);
sqlCnn.Open();
sqlcmm.ExecuteNonQuery();
}
this.DataList1.EditItemIndex = -1;
this.BindProduct(this.HiddenField1.Value);
} //更新
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
string str = ConfigurationManager.ConnectionStrings["studentCnn"].ConnectionString;
using (SqlConnection sqlCnn = new SqlConnection(str))
{
SqlCommand sqlcmm = sqlCnn.CreateCommand();
sqlcmm.CommandText = "delete from student where sid=@sid";
sqlcmm.Parameters.AddWithValue("@sid", e.CommandArgument);
sqlCnn.Open();
sqlcmm.ExecuteNonQuery();
}
this.BindProduct(this.HiddenField1.Value);
} //删除
protected void Button6_Click(object sender, EventArgs e)
{
this.BindProduct("1");
} //首页
protected void Button9_Click(object sender, EventArgs e)
{
int count = Convert.ToInt32(this.HiddenField2.Value);
this.BindProduct(count.ToString());
} //尾页
protected void Button7_Click(object sender, EventArgs e)
{
int index = Convert.ToInt32(this.HiddenField1.Value);
if (index > 1)
index--;
this.BindProduct(index.ToString());
}//上一页
protected void Button8_Click(object sender, EventArgs e)
{
int index = Convert.ToInt32(this.HiddenField1.Value);
int count = Convert.ToInt32(this.HiddenField2.Value);
if (index < count)
index++;
this.BindProduct(index.ToString());
}
} //下一页
存储过程的创建:
ALTER PROCEDURE sp_Student_Select_by_Page_rowNumber
@pageSize int, --每页记录数量
@pageCount int output, --总页数
@pageIndex int --当前页索引号
AS
BEGIN
declare @totalRecords int
select @totalRecords = count(sid) from student
if(@totalRecords % @pageSize = 0)
set @pageCount = @totalRecords / @pageSize;
else
set @pageCount = @totalRecords / @pageSize +1;
with temp as (select row_number() over (order by sid) as id,* from student)
select * from temp where id between (@pageIndex -1)*@pageSize +1 and @pageIndex * @pageSize
return @totalRecords
end
分享到:
相关推荐
第一部分 构建ASP.NET页面 第1章 ASP.NET Framework概览 2 1.1 ASP.NET和.NET Framework 5 1.1.1 框架类库 5 1.1.2 公共语言运行库 9 1.2 ASP.NET控件 10 1.2.1 ASP.NET控件概览 11 1.2.2 HTML控件 12 1.2.3 理解...
Asp.net手动绑定数据(分页、编辑、删除、加控件等操作) Asp.net中My97DatePicker4.2日期的使用 Asp.net中DataList控件添加删除 Asp.net获取请求的用户信息IP地址 获取世界IP地址库显所在城市信息 ...
Asp.net手动绑定数据(分页、编辑、删除、加控件等操作) Asp.net中My97DatePicker4.2日期的使用 Asp.net中DataList控件添加删除 Asp.net获取请求的用户信息IP地址 获取世界IP地址库显所在城市信息 MySQL...
asp.net在快速分页控件。把源码发给大家,以便大家学习,改进。 基于sqlserver 2000存储过程 分页速度快。使用方便 实现了repeater ,datalist ,datagrid,gridview的重载。
DataList分页、增加、删除、修改实例.doc is as override示例.txt JA_ASP lecture_UML MS Press - Programming Microsoft.Net.chm NET 技术交流与实际应用.ppt net窗体身份验证方案.doc OOAD OOAD.doc O...
但是我用过的几个控件,本身都要执行SQL,对存储过程支持不好,为了方便,特别写了个通用分页类,利用PagedDataSource来实现DataGrid,DataList,Repeater的分页。 完成上一页,下一页,最后一页,最前一页,总页数...
asp.net 4揭秘.第1卷》 第一部分 构建asp.net页面 第1章 asp.net framework概览2 1.1 asp.net和.net framework5 1.1.1 框架类库5 1.1.2 公共语言运行库10 1.2 asp.net控件11 1.2.1 asp.net控件概览11 1.2.2 html控件...
asp.net2.0简单实用 magicajax+aspnetpager 打造datalist无刷新分页源码,新手学习必备 数据库使用sqlserver2000默认的northwind,使用前先配置web.config数据库连接路径,然后导入两个存储过程(存储过程.txt)
大家都知道Asp.net中的Gridview。datalist等 都可以自定义分页,但是当你翻页的时候,数据 表中的所有数据都会加载到内存,重 新绑定,当 然要是数据量小的话,这是可以的,我们也很乐 意用,原因简单因为方便,但是...
ASP.NET 2.0使用Web Part创建应用程序之二(共二) 体验 .net2.0 的优雅(2) -- ASP.net 主题和皮肤 NET2.0系列介绍(一).NET 2.0 中Web 应用程序主题的切换 ASP.NET 2.0 中Web 应用程序主题的切换 2.0正式版中...
第一部分 使用ASP.NET Web表单 <br>第1章 建立ASP.NET页面 <br>1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 ...
1.2.2 ASP.NET应用程序的创建方法 9 1.2.3 Web窗体的特点 10 1.2.4 Web 窗体的功能 10 1.2.5 WEB窗体工作原理 11 1.3 ASP.NET 页的结构 12 1.3.1 @Page指令 13 1.3.2 ASP.NET的服务器端脚本 14 1.3.3 服务器端脚本...
第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...
11.5.2 ASP.NET 分页控件的使用 11.6 小结 第 12 章 ASP.NET 的皮肤、主题和母版页 12.1 皮肤和主题 12.1.1 CSS 简介 12.1.2 CSS 基础 12.1.3 CSS 常用属性 12.1.4 将CSS 应用在控件上 12.1.5 主题和皮肤 12.1.6 ...
第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...
可以对于datagrid,repeater,datalist,进行快速分页 ,据说存储过程支持千万级数据库,没有测试过。 代码写起来很方便。 附带上数据库的存储过程。希望大家下载。
第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...
第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...
内容包括:ASP.NET Web表单的使用,高级ASP.NET页面的开发,ADO.NET的使用,ASP.NET应用程序的使用, ASP.NET应用程序的保护,ASP.NET Web服务的建立,.NET框架的利用,自定义的ASP.NET控件的建立,ASP.NET的应用...
第2章 ASP.NET运行模型 21.如何在页面中应用javascript脚本-示例1 21.如何在页面中应用javascript脚本-...如何在ASP.NET中创建、删除、复制文件 207.如何动态的创建HTML文件 第12章 XML相关处理技术