0
我正在从事电子商务网站。我已经使用Listview控件来填充产品。在一页上,我展示了36种产品。现在,如果我想使用分页转到下一页,那么它不起作用。页面只停留在第一页。我试过2个解决方案。Listview中的Datapager不能正常工作
寻呼码
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
if (IsPostBack) {
DataPager pgr = products.FindControl("DataPager1") as DataPager;
if (pgr != null && products.Items.Count != pgr.TotalRowCount) {
pgr.SetPageProperties(0, pgr.MaximumRows, false);
}
}
}
我有很多的CheckBoxList到过滤器列表视图数据,以及。所以在这里,我记住如果用户是在应用一些过滤器&如果行< 36那么它应该显示从页1的结果。在我的下面的代码分页工作正常,但是当上面提到的情况发生时,它显示空白页。
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
(products.FindControl("DataPager1") as DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
this.populateProducts();
}
更新页面加载
try {
query = "SELECT * FROM products where stock_status = @stock_status and status = @status";
string conString = ConfigurationManager.ConnectionStrings("conio").ConnectionString;
MySqlConnection con = new MySqlConnection(conString);
MySqlCommand cmd = new MySqlCommand(query);
cmd.Parameters.AddWithValue("@stock_status", "Ready Stock");
cmd.Parameters.AddWithValue("@status", "active");
con.Open();
MySqlDataAdapter da = new MySqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);
ViewState("Data") = dt;
products.DataSource = dt;
products.DataBind();
catHeading.Text = "Products In Ready Stock";
itemCount.Text = dt.Rows.Count.ToString;
catSliderHeader.Text = "Categories";
Page.Title = "Ready Stock Products" + " | BrandSTIK";
con.Close();
} catch (Exception ex) {
Response.Write(ex);
}
如果我把下的IsPostBack然后PopulateProducts它是没有得到数据时,页面加载 – SUN
您可以发布您的Page_Load事件代码? –
Upadated pageload event code – SUN