首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-09-16 
asp.net翻页代码无效,,,急急我用的是vs2008,数据库是sql 2005,c#更多后台代码using BLLpublic partial cl

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这个分布控件就很好用,效率也高

热点排行