主要用在字段里
<asp:Literal ID="Literal1" runat="server"></asp:Literal>。。
.cs Literal1.Text=sdr["News_Content"].ToString();
把字段News_Content里内容每1000字为一页求助高手
<asp:Literal ID="Literal1" runat="server"></asp:Literal>。。
.cs Literal1.Text=sdr["News_Content"].ToString();
把字段News_Content里内容每1000字为一页求助高手
var cUrl=location.href;
function writePage(url){
var parttern=/\/(\d+)\.html$/; //定义匹配字符串
var urlArr;
if(urlArr=url.match(parttern)) //urlArr[1]为取得的数字
{
pNum=parseInt(urlArr[1])+1;
pNext=url.replace(parttern,"/"+pNum+".html");
nNum=parseInt(urlArr[1])-1;
pPerv=url.replace(parttern,"/"+nNum+".html");
document.write("<a href=\""+pPerv+"\">上一页</a> <a href=\""+pNext+"\">下一页</a>");
}
else
{
document.write("当前没有分页!");
}
}
writePage(cUrl);
</script> <html>
<head><title>6</title>
<script language="javascript">
<!--
var strHref = window.location.href;
var pageName = strHref.slice(strHref.lastIndexOf("/")+1);
var pageNumber=parseInt(pageName.replace(".html",""));
function forward(){
var aa=pageNumber-1;
window.location.href=aa+".html";
}
function back(){
var bb=pageNumber+1;
window.location.href=bb+".html";
}
//-->方法二:
</script></head>
<body>
<h1>这是6.html</h1>
<input type="button" value="上一页" onclick="forward()"><br>
<input type="button" value="下一页" onclick="back()">
</body>
</html>
能不能说具体一点
/// 记录当前页
/// </summary>
public int pageIndex
{
get { return Convert.ToInt32(ViewState["P_Index"]); }
set
{
ViewState["P_Index"] = value;
}
}
/// <summary>
/// 记录总页数
/// </summary>
public int PageSum
{
get { return Convert.ToInt32(ViewState["P_Sum"]); }
set
{
ViewState["P_Sum"] = value;
}
}
public const int pageSize = 10;//每页
#endregion /// <summary>
/// 显示行数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AllowPage(this.ddlIndex, bll.GetEvaluateSum(), pageSize, this.lblMessage);
pageIndex = 0;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
} }
/// <summary>
/// 分页
/// </summary>
/// <param name="ddl">下拉框控件</param>
/// <param name="sum">数据总数</param>
/// <param name="pageSize">每页显示行数</param>
/// <param name="lbl">显示Lable</param>
private void AllowPage(DropDownList ddl, int sum, int pageSize, Label lbl)
{
PageSum = sum / pageSize;//获得有多少页
if (sum % pageSize > 0)
{
PageSum += 1;
}
ddl.Items.Clear();
for (int i = 1, len = PageSum; i <= len; i++)
{
ddl.Items.Add(i.ToString());
}
if (PageSum == 0)
{
ddl.Items.Add("无数据");
}
lbl.Text = "共" + (PageSum) + "页";
}
//转向指定分页
protected void btnGo_Click(object sender, EventArgs e)
{
int index = Convert.ToInt32(this.ddlIndex.SelectedValue);
index = index == 1 ? 0 : Convert.ToInt32(this.ddlIndex.Items[this.ddlIndex.SelectedIndex - 1].Value) * pageSize;
pageIndex = index / pageSize;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(index);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
//下一页
protected void lbNext_Click(object sender, EventArgs e)
{
pageIndex++;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex * pageSize);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
//上一页
protected void lbPrevious_Click(object sender, EventArgs e)
{
pageIndex--;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex * pageSize);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
//首页
protected void lbFirst_Click(object sender, EventArgs e)
{
pageIndex = 0;
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
//尾页
protected void lbLastly_Click(object sender, EventArgs e)
{
pageIndex = (PageSum - 1);
this.gvEvaluates.DataSource = bll.GetEvaluateTops(pageIndex * pageSize);
this.gvEvaluates.DataBind();
LinkEnalbe(pageIndex, this.lbPrevious, this.lbNext, this.lbFirst, this.lbLastly, PageSum);
this.lblIndex.Text = (pageIndex + 1).ToString();//当前索引页
}
分页主要是有记录好页面索引可以用ViewState来存诸索引值,防止页面更新数据丢失.
go
if db_id('school')is not null
drop database school
go
create database school
go
use school
go
create table Student
(
StudentId int identity primary key,
StudentNO varchar(50)unique not null,
StudentName nvarchar(50)not null,
StudentSex int,
StudentBirthDay datetime,
)
go
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0001','张三',1,'1988-1-1')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0002','李四',1,'1988-5-5')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0003','王五',0,'1989-2-4')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0004','赵六',0,'1989-11-2')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0005','呈十',0,'1990-5-1')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0006','大黄',1,'1990-3-5')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0007','小黑',1,'1987-8-5')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0008','小白',1,'1989-8-3')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0009','多多',0,'1989-5-3')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0010','白白',1,'1987-1-3')
insert into student( StudentNO, StudentName, StudentSex, StudentBirthDay)
values('0011','小猪',1,'1989-4-3')
go
create proc proc_GetStudents
@pageNum int=null,--页码
@pageSize int=5,--页大小
@total int=0 output,--总页数
@studentId int=null,
@studentNO varchar(50)=null,
@studentName nvarchar(50)=null,
@studentSex int=null,
@studentBirthDayBeg datetime=null,
@studentBirthDayEnd datetime=null
as
select @total=count(*)from student
where (@studentId is null or studentId=@studentId)
and (@studentNO is null or len(@studentNO)=0 or charindex(@studentNO,studentNO)>0)
and (@studentName is null or len(@studentName)=0 or charindex(@studentName,studentName)>0)
and (@studentSex is null or studentSex=@studentSex)
and (@studentBirthDayBeg is null or studentBirthDay>=@studentBirthDayBeg)
and (@studentBirthDayEnd is null or studentBirthDay<=@studentBirthDayEnd)
if @total%5=0
set @total=@total/5
else
set @total=(@total-@total%5)/5+1
select * from
(
select row_number()over(order by studentId)rowNum,* from student
where (@studentId is null or studentId=@studentId)
and (@studentNO is null or len(@studentNO)=0 or charindex(@studentNO,studentNO)>0)
and (@studentName is null or len(@studentName)=0 or charindex(@studentName,studentName)>0)
and (@studentSex is null or studentSex=@studentSex)
and (@studentBirthDayBeg is null or studentBirthDay>=@studentBirthDayBeg)
and (@studentBirthDayEnd is null or studentBirthDay<=@studentBirthDayEnd)
)tbl where (@pageNum is null or(rowNum between (@pageNum-1)*@pageSize+1 and @pageNum*5))
go
exec proc_GetStudents
go/*
我是用存储过程怎么写的,到程序里把几个参数穿过来就是
*/