AspNetPager分页控件怎么去写成Page_Load绑定 求解
官方给的这个完全不知道怎么去修改protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
AspNetPager1.RecordCount = totalOrders;
//bindData(); //使用url分页,只需在分页事件处理程序中绑定数据即可,无需在Page_Load中绑定,否则会导致数据被绑定两次
}
}
void bindData()
{
Repeater1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure, ConfigurationManager.AppSettings["pagedSPName"],
new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
new SqlParameter("@endIndex", AspNetPager1.EndRecordIndex));
Repeater1.DataBind();
}
protected void AspNetPager1_PageChanged(object src, EventArgs e)
{
bindData();
}
这个完全看不到 如果能写成下面类型就行了
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = pds();
Repeater1.DataBind();
}
}
private PagedDataSource pds()
{
TextBox2.Text = Request.QueryString["N_title"];
SqlConnection con = new SqlConnection("server=192.168.0.100;database=dmj;uid=dmjcom;pwd=123");
con.Open();
SqlCommand cmd = new SqlCommand("select N_title,N_datetime from qbnews where contains(qbnews.*,'" + TextBox2.Text + "')", con);
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
DataSet ds = new DataSet();
sda.Fill(ds, "qbnews");
con.Close();
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables["qbnews"].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 2;
pds.CurrentPageIndex = Convert.ToInt32(Request.QueryString["page"]);
return pds;
} 省略...... --------------------编程问答-------------------- 看不懂你想说什么?
上面那个带分页控件,第一步设置分页控件的总数,第二步在分页控件的Paging事件中绑定数据源;而下面那个直接绑定数据源,和分页控件没关系。 --------------------编程问答-------------------- http://blog.csdn.net/dalmeeme/article/details/6769583 --------------------编程问答-------------------- 有repeater的吗? --------------------编程问答--------------------
一样的用法,变通一下就行了。 --------------------编程问答-------------------- 没学过这方面的知识 只会套用 简单改改 --------------------编程问答-------------------- 就是把GridView改成Repeater,设置Repeater的项模板,用类似<%#Eval("字段名")%>这种形式绑定一下。
几乎学过asp.net的人都会这种修改。 --------------------编程问答-------------------- 另外sql语句可能要改下,因为sqlite同sql server的语法有所不同。 --------------------编程问答-------------------- SqlConnection con = new SqlConnection("server=192.168.0.100;database=dmj;uid=dmjcom;pwd=123");
con.Open();
SqlCommand cmd = new SqlCommand("select N_title,N_datetime from qbnews where contains(qbnews.*,'" + TextBox2.Text + "')", con);
这个我不知道放在那里
AspNetPager1.RecordCount = md.ExecuteScalar<int>("select count(*) from city");
DataTable dt = md.FillDataTable(string.Format("select * from city limit {0},{1}", (pageIndex - 1) * pageSize, pageSize));
这两条的数据库语句都没用过 --------------------编程问答-------------------- 大致上是这样:
protected void Page_Load(object sender, EventArgs e)--------------------编程问答-------------------- protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e)
{
if (!IsPostBack)
DisplayData(1, AspNetPager1.PageSize);
}
private void DisplayData(int pageIndex, int pageSize)
{
SqlConnection con = new SqlConnection("server=192.168.0.100;database=dmj;uid=dmjcom;pwd=123");
SqlCommand cmd = new SqlCommand("select count(*) from qbnews where 条件", con);
con.Open();
AspNetPager1.RecordCount = (int)cmd.ExecuteScalar();
cmd.CommandText = string.Format("select top {0} * from qbnews where 主键 not in(select top {1} 主键 from qbnews order by 主键) order by 主键", pageSize, (pageIndex - 1) * pageSize);
SqlDataReader reader = cmd.ExecuteReader();
Repeater1.DataSource = reader;
Repeater1.DataBind();
con.Close();
}
protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e)
{
DisplayData(e.NewPageIndex, AspNetPager1.PageSize);
}
PageChangingEventArgs
找不到类型或命名空间名称“PageChangingEventArgs”(是否缺少 using 指令或程序集引用?) --------------------编程问答-------------------- 晕,你连C#的基础都没有啊,那还怎么写啊。另外不要一碰到错误就上来问,自己用关键字google一下,它上面不是已经说得很明显了?是否缺少 using 指令或程序集引用
如果你连这个怎么解决都不知道,我也没法了。
--------------------编程问答--------------------
正确的应该是用PageChanged事件,而不是PageChanging。最新的控件示例和文档请访问:http://www.webdiyer.com/controls/aspnetpager --------------------编程问答-------------------- 就是把GridView改成Repeater,设置Repeater的项模板,用类似<%#Eval("字段名")%>这种形式绑定一下。
几乎学过asp.net的人都会这种修改。
补充:.NET技术 , ASP.NET