一个页面上有搜索功能和分页功能,搜索后的数据也要进行分页,代码应该怎么写?我用的是datalist

我的是绑定页面加载时候的DataTable... 我的是绑定页面加载时候的DataTable 展开
 我来答
妥当还通融的松柏D
2010-01-22 · TA获得超过159个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:165万
展开全部
datalist不像datagrid有自带分页功能,不过你可以自己写一个。
给你个思路:
首先得从数据库查询出来的记录条数。再根据每页多少条记录,进行自定义分页,你可能建立一个简单的分页控件:
<a href="a.aspx?page=1">上一页</a>直接把要显示的第几页传参数给页面。
从数据只查询指定页的数据,再绑定即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手绘时装画
2010-01-22 · TA获得超过337个赞
知道小有建树答主
回答量:538
采纳率:0%
帮助的人:264万
展开全部
中间的参数自己带上
protected string Title()
{
StringBuilder sb = new StringBuilder();
int PageCount = (DataCount + PageSize - 1) / PageSize;
int StartTag = PageIndex / PageTag == 0 ? 1 : (PageIndex / PageTag) * PageTag;
int EndTag = (PageIndex / PageTag + 1) * PageTag;
sb.Append("<div id=\"ShowPage\" style=\"padding:5px 5px 5px 0px;\">");
if (PageIndex > PageCount)
{
throw new ApplicationException("页索引不能大于总页数!");
}
else
{
sb.Append("<a href=\"?page=1\" class=\"sp\" >首页</a> ");
if (PageIndex == 1)
{
sb.Append("<a class=\"sp\" >上一页</a> ");
}
else
{
sb.Append("<a href=\"?page=" + (PageIndex - 1) + "\" class=\"sp\" >上一页</a> ");
}
if (DataCount <= PageSize)//总数据小于每页显示数据
{
for (int i = 1; i <= PageCount; i++)
{
sb.Append("<a href=\"?page=" + i + "\" id=" + i + " class=\"sp\">" + i + "</a> ");
}
}
else
{
if (PageCount <= EndTag) //判断最后是否满足翻页按钮
{
for (int i = StartTag; i <= PageCount; i++)
{
sb.Append("<a href=\"" + _PageUrl + "" + i + "\" id=" + i + " class=\"sp\">" + i + "</a> ");
}
}
else
{
for (int i = StartTag; i <= EndTag; i++)
{
sb.Append("<a href=\"" + _PageUrl + "" + i + "\" id=" + i + " class=\"sp\">" + i + "</a> ");
}
}
}

if (PageIndex == PageCount)
{
sb.Append("<a class=\"sp\" >下一页</a> ");
}
else
{
sb.Append("<a href=\"?page=" + (PageIndex + 1) + "\" class=\"sp\" >下一页</a> ");
}
sb.Append("<a href=\"?page=" + PageCount + "\" id=" + PageCount + " class=\"sp\">末页</a> ");
sb.Append("<input type=\"text\" style=\"width:35px;border: 1px solid #ccc;margin-right:2px;padding-top:2px;height:17px;\" id=\"txtIndex\" value=" + PageIndex + " ></input><a onclick=\"return OnJump()\" style=\"cursor:hand;\"><span class=\"sp\">跳转</span></a> ");
}

sb.Append("<span class=\"sp\">页码:" + PageIndex + "</span> <span class=\"sp\">总页数:<label id=\"Count\">" + PageCount + "</label></span> <span class=\"sp\">总数据:" + DataCount + "</span> ");
sb.Append("</div>");
return sb.ToString();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3831f2b
2010-01-23 · TA获得超过162个赞
知道小有建树答主
回答量:143
采纳率:100%
帮助的人:93.5万
展开全部
我说个简单的方法
用pageddatasource类吧,这样绑定

数据绑定的时候
private void Bind()
{
datatable dt=。。。;
pageddatasource ps=new pageddatasource();
ps.allowpaging=true;
ps.pagesize=10;
ps.datasource=dt;
this.datalist.datasource=ps;
this.databind();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式