Asp.net自己怎么做分页控件?

Asp.net自己怎么做分页控件?做一个如下图的我这是用C#代码给数据控件装载数据,.net自带的分页控件,根本用不上,给我提供的数据源是返回总页数,和当前页码,和当前页... Asp.net自己怎么做分页控件?做一个如下图的我这是用C#代码给数据控件装载数据,.net自带的分页控件,根本用不上,给我提供的数据源是返回总页数,和当前页码,和当前页数据。 第一:不要告诉我.net有分页控件,因为我这是实际需要。第二:不要说百度搜索等之类的话。第三:不是认真回答只是刷分的,就一边去吧! 谢谢!.net 3.5Anysend@vip.qq.com 展开
 我来答
36557832
2012-03-20 · TA获得超过11.4万个赞
知道顶级答主
回答量:7万
采纳率:1%
帮助的人:4.6亿
展开全部
实际上你要做的就是个假分页,这个比真分页还好做。
总体思路:
1. 采用asp.net 开发自定义服务器控件. 如果你不会,(当然,你也可以选用web user control,即ascx控件,这个比较简单,但是我强烈推荐自定义服务器控件)
2. 你的控件很简单,使用者只需自行设定页面显示数据的大小(public参数公开),你的控件根据单页显示的多少和总数据量,自动算出页数。(当然,你这里已经说数据库提供了总页数,所以你可以不用考虑这个参数)
3. 用户点击每页的时候,实际上就把点击的数字 作为参数传回你的控件里,比如用户点击“3”页,你把3作为参数传回数据库取得第三页的数据就行了。
4. 加上自己的样式。
___尕_兮
2012-03-20
知道答主
回答量:52
采纳率:0%
帮助的人:15.9万
展开全部
ui层
<div class="pager">
<asp:HyperLink ID="HyperLink1" runat="server">首页</asp:HyperLink>
<asp:HyperLink ID="HyperLink2" runat="server">上一页</asp:HyperLink>

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

<asp:HyperLink ID="HyperLink3" runat="server">下一页</asp:HyperLink>
<asp:HyperLink ID="HyperLink4" runat="server">末页</asp:HyperLink>
</div>

后台
private void showBranchList()
{
if (Request.QueryString["page"] != null)
{
try
{
page = Convert.ToInt32(Request.QueryString["page"].ToString());
}
catch
{ }
}
int RecordCount = Convert.ToInt32(DBHelper.GetScalar2String("select count(BranchId) from BranchInfo",CommandType.Text, null));
int pageCount = Convert.ToInt32(Math.Ceiling((double)RecordCount / pageSize));

if (page > pageCount)
{
page = pageCount;
}
if (page < 1)
{
page = 1;
}

string sql = "select top " + pageSize + " * from BranchInfo"
+ " where BranchId not in (select top " + (page - 1) * pageSize + "BranchId from BranchInfo)";
DataSet dt = DBHelper.GetDataSet(sql, CommandType.Text, null);

this.OrganizaListRepeater.DataSource = dt.Tables[0];
this.OrganizaListRepeater.DataBind();

this.HyperLink1.NavigateUrl = "OrganizaList.aspx?page=1";
this.HyperLink2.NavigateUrl = "OrganizaList.aspx?page=" + (page - 1).ToString();
this.HyperLink3.NavigateUrl = "OrganizaList.aspx?page=" + (page + 1).ToString();
this.HyperLink4.NavigateUrl = "OrganizaList.aspx?page=" + pageCount;

if (page == 1)
{
this.HyperLink2.Enabled = false;
}
if (page == pageCount)
{
this.HyperLink3.Enabled = false;
}

for (int i = 1; i <= pageCount; i++)
{
if (i == page)
{
this.Label1.Text += " <a class='p1 p2' href = 'OrganizaList.aspx?page='" + i.ToString() + "'>" + i.ToString() + "</a> ";

}
else
{
this.Label1.Text += " <a class='p1' href='OrganizaList.aspx?page=" + i.ToString() + "'>" + i.ToString() + "</a> ";
}
}

}

应该是这样的,有一个ASPNet Page很好用啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式