那个用过AspNetPager分页控件的大哥能告诉我以下这个思路呢? 可以考虑用DataGrid的数据格式设置表达式。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思就是 我想用AspNetPager分页控件来实现分页, 但是我要实现的就是需要做一个URL方式传递参数的查询 datalist_url.aspx?id=111&page=12以前的不是只有datalist_url.aspx?page=12 吗? page为当前的页面! 意思也就是我想通过id的筛选来查询数据库中的记录! 但是我也要用AspNetPager分页控件最后通过url来传递参数 ! 方式为:datalist_url.aspx?id=111&page=12 这样的格式! 你可以放个Literal或者其他容器来自己组合分页的url啊。Literal1.Text = "<a href='xx.aspx?id=x&page="+ 你计算的页数.TOString() + "'>" +你计算的页数.TOString()+"</a>" ; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("aspnetpager.mdb")); if(!Page.IsPostBack) { cmd=new OleDbCommand("select count(newsid) from wqnews",conn); conn.Open(); pager.RecordCount=(int)cmd.ExecuteScalar(); conn.Close(); BindData(); } } void BindData() { cmd=new OleDbCommand("select newsid,heading,source,addtime from wqnews order by addtime desc",conn); OleDbDataAdapter adapter=new OleDbDataAdapter(cmd); DataSet ds=new DataSet(); adapter.Fill(ds,pager.PageSize*(pager.CurrentPageIndex-1),pager.PageSize,"news"); dg.DataSource=ds.Tables["news"]; dg.DataBind(); pager.CustomInfoText="记录总数:<font color=\"blue\"><b>"+pager.RecordCount.ToString()+"</b></font>"; pager.CustomInfoText+=" 总页数:<font color=\"blue\"><b>"+pager.PageCount.ToString()+"</b></font>"; pager.CustomInfoText+=" 当前页:<font color=\"red\"><b>"+pager.CurrentPageIndex.ToString()+"</b></font>"; } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.cmd = new System.Data.OleDb.OleDbCommand(); this.conn = new System.Data.OleDb.OleDbConnection(); this.dg.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.CancelEdit); this.dg.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.EditData); this.dg.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.UpdateData); this.dg.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.BindScript); this.pager.PageChanged += new Wuqi.Webdiyer.PageChangedEventHandler(this.ChangePage); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void ChangePage(object src,PageChangedEventArgs e) { pager.CurrentPageIndex=e.NewPageIndex; BindData(); System.Text.StringBuilder sb=new StringBuilder("<script Language=\"Javascript\"><!--\n"); sb.Append("var el=document.all;"); sb.Append(dg.ClientID); sb.Append(".scrollIntoView(true);"); sb.Append("<"); sb.Append("/"); sb.Append("script>"); if(!Page.IsStartupScriptRegistered("scrollScript")) Page.RegisterStartupScript("scrollScript",sb.ToString()); }55555555555加到那呀? 大哥别怪我笨 但是我急切的想知道 求求你了 Sorry,AspNetPager没有方法可以在代码生成时修改页面链接字符串,它的分页链接是从当前的url中产生的,如果要在url中其它参数,只能直接把参数加在当前页面的url中,比如当前的url是http://localhost/test/datalist.aspx,要想让分页控件在url中添加额外参数,需要在这个页面打开时就把参数加进去,象上面的url如果要加参数id=12,则应将它改为http://localhost/test/datalist.aspx?id=12,这样分页控件会自动保留原来的id参数并添加分页参数。 吴哥 能不能把你的分页在加上这个功能呢? 和这个分页一样 http://www.flash8.net/news/list.aspx?c_id=1115 AccessDataSource参数变量问题 关于页面跳转的问题~~ 如何在ASP.NET的程序里面 将数据转换成PDF 众人拾柴火焰高,请高手来帮忙解题 关于发送邮件的问题 Access2000数据库小问题? 链接Access数据库的问题,急待解决!!! 初涉.NET所困惑的问题 如何打开HTML文件时,使它的编码为utf-8格式? 在oracle中,条件想写成该字段值前三位不包含“1”或“2”或“3” 请教网页对话框问题,如何在父级窗口取得网页对话框中元素的值? 谁知道ASP.NET爱好者的QQ群号码,在线加入
datalist_url.aspx?id=111&page=12以前的不是只有datalist_url.aspx?page=12 吗?
page为当前的页面!
意思也就是我想通过id的筛选来查询数据库中的记录! 但是我也要用AspNetPager分页控件最后通过url来传递参数 ! 方式为:
datalist_url.aspx?id=111&page=12 这样的格式!
{
// 在此处放置用户代码以初始化页面
conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("aspnetpager.mdb"));
if(!Page.IsPostBack)
{
cmd=new OleDbCommand("select count(newsid) from wqnews",conn);
conn.Open();
pager.RecordCount=(int)cmd.ExecuteScalar();
conn.Close();
BindData();
}
} void BindData()
{
cmd=new OleDbCommand("select newsid,heading,source,addtime from wqnews order by addtime desc",conn);
OleDbDataAdapter adapter=new OleDbDataAdapter(cmd);
DataSet ds=new DataSet();
adapter.Fill(ds,pager.PageSize*(pager.CurrentPageIndex-1),pager.PageSize,"news");
dg.DataSource=ds.Tables["news"];
dg.DataBind();
pager.CustomInfoText="记录总数:<font color=\"blue\"><b>"+pager.RecordCount.ToString()+"</b></font>";
pager.CustomInfoText+=" 总页数:<font color=\"blue\"><b>"+pager.PageCount.ToString()+"</b></font>";
pager.CustomInfoText+=" 当前页:<font color=\"red\"><b>"+pager.CurrentPageIndex.ToString()+"</b></font>";
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.cmd = new System.Data.OleDb.OleDbCommand();
this.conn = new System.Data.OleDb.OleDbConnection();
this.dg.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.CancelEdit);
this.dg.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.EditData);
this.dg.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.UpdateData);
this.dg.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.BindScript);
this.pager.PageChanged += new Wuqi.Webdiyer.PageChangedEventHandler(this.ChangePage);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void ChangePage(object src,PageChangedEventArgs e)
{
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
System.Text.StringBuilder sb=new StringBuilder("<script Language=\"Javascript\"><!--\n");
sb.Append("var el=document.all;");
sb.Append(dg.ClientID);
sb.Append(".scrollIntoView(true);");
sb.Append("<");
sb.Append("/");
sb.Append("script>");
if(!Page.IsStartupScriptRegistered("scrollScript"))
Page.RegisterStartupScript("scrollScript",sb.ToString());
}55555555555加到那呀? 大哥别怪我笨 但是我急切的想知道 求求你了