读书人

asp.net翻页代码无效该如何解决

发布时间: 2012-09-16 17:33:16 作者: rapoo

asp.net翻页代码无效,,,急急
我用的是vs2008,数据库是sql 2005,c#

更多后台代码
using BLL;

public partial class gengduo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{

//bd();//这句话加上就提示:无法找到表 0。
}

}
public void bd()
{

DAL.DataBase d = new DAL.DataBase();
DataSet ds = new DataSet();
//d.runSQL("select * from news where newsID=" + Request["id"].ToString() + "order by newsID DESC", ref ds);


PagedDataSource p = new PagedDataSource();
p.DataSource = ds.Tables[0].DefaultView;
p.AllowPaging = true;
p.PageSize = 2;


int cp = 0;
if (Request["page"] != null)
{
cp = Convert.ToInt32(Request["page"]);


}

p.CurrentPageIndex = cp;
if (!p.IsFirstPage)
{

HyperLink1.NavigateUrl = "?id=" + Request["id"].ToString() + "&page=" + (cp - 1);


}
if (!p.IsLastPage)
{

HyperLink2.NavigateUrl = "?id=" + Request["id"].ToString() + "&page=" + (cp + 1);

}

HyperLink3.NavigateUrl = "?id=" + Request["id"].ToString() + "&page=" + 0;
HyperLink4.NavigateUrl = "?id=" + Request["id"].ToString() + "&page=" + (p.PageCount - 1);
showPage.Text = "第" + (p.CurrentPageIndex + 1) + "页共" + p.PageCount + "页";

DataList1.DataSource = p;
DataList1.DataBind();
d.close();

前台代码
<asp:Literal ID="showPage" runat="server"></asp:Literal>
<asp:HyperLink ID="HyperLink1" runat="server">上一页</asp:HyperLink>
<asp:HyperLink ID="HyperLink2" runat="server">下一页</asp:HyperLink>
<asp:HyperLink ID="HyperLink3" runat="server">首页</asp:HyperLink>
<asp:HyperLink ID="HyperLink4" runat="server">尾页</asp:HyperLink>

[解决办法]

C# code
DAL.DataBase d = new DAL.DataBase();  DataSet ds = new DataSet();  //d.runSQL("select * from news where newsID=" + Request["id"].ToString() [color=#FF0000]+ "order (order前面加个空格)[/color]by newsID DESC", ref ds);[color=#FF0000]这里注释了???[/color]  PagedDataSource p = new PagedDataSource();  p.DataSource = ds.Tables[0].DefaultView;  p.AllowPaging = true;  p.PageSize = 2;
[解决办法]
C# code
DAL.DataBase d = new DAL.DataBase();  DataSet ds = new DataSet();  d.runSQL("select * from news where newsID=" + Request["id"].ToString() [color=#FF0000]+ "order (order前面加个空格)[/color]by newsID DESC", ref ds);[color=#FF0000]这里注释了???[/color]  PagedDataSource p = new PagedDataSource();  p.DataSource = ds.Tables[0].DefaultView;  p.AllowPaging = true;  p.PageSize = 2;
[解决办法]
用个分页空间不是很好吗
[解决办法]

看错问题了,我以为“无法找到表 0。”呢...




lz想url分页,aspnetpage也可以实现,不用你写这么代码...

lz断点跑下看看吧...
[解决办法]
p.CurrentPageIndex = cp; 改成

p.CurrentPageIndex = Request["page"]==null?1:Convert.ToInt32(Request["page"]);
[解决办法]
http://www.webdiyer.com/controls/aspnetpager
[解决办法]

探讨

http://www.webdiyer.com/controls/aspnetpager

[解决办法]
有封装好的控件干嘛不用呢,这又不是JS分布自己写。aspnetpager这个分布控件就很好用,效率也高

读书人网 >asp.net

热点推荐