1
我做了一個ListView
,以顯示其正常工作的產品&,但是當我使用DataPager的限制,以在該頁面的產品數量,然後在這裏發生列表視圖分頁工作不正常
-
一些問題
- 分頁不能一次點擊。我必須點擊它們2次來導航第二頁,等等。
- 當頁面大小爲5時&我點擊第2頁,它能正常工作並顯示其餘5個產品,但當我通過點擊pager導航鏈接1返回第1頁時,則前5個產品顯示不正確。
的代碼是:
的.cs
public void BindListView_Products()
{
int cate_id = int.Parse(Request.QueryString["cate_id"].ToString());
DataTable dt = new BALCate().GetProductsAllSubCate(cate_id);
ListView_Products.DataSource = dt;
ListView_Products.DataBind();
}
public void ddlNumber_SelectedIndexChanged(object sender, EventArgs e)
{
listview_pager.PageSize = Convert.ToInt32(ddlNumber.SelectedValue);
BindListView_Products();
}
的.aspx
<asp:UpdatePanel ID="up1" runat="server"><ContentTemplate>
//////some code
<div class="limit">
<b>Show:</b>
<asp:DropDownList ID="ddlNumber" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlNumber_SelectedIndexChanged">
<asp:ListItem Selected="True" value="5">5</asp:ListItem>
<asp:ListItem value="10">10</asp:ListItem>
<asp:ListItem value="15">15</asp:ListItem>
<asp:ListItem value="20">20</asp:ListItem>
<asp:ListItem value="25">25</asp:ListItem>
</asp:DropDownList>
</div>
<asp:ListView ID="ListView_Products" ItemPlaceholderID="itemplaceholder1" runat="server">
<LayoutTemplate>
<asp:PlaceHolder ID="itemplaceholder1" runat="server">
</asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<div>
<div class="left">
<div class="image">
<a href='ProductDetails.aspx?pid=<%#Eval("pid")%>'>
<img alt="Apple Cinema 30"" title="Apple Cinema 30""
src="<%#"Images/" + Eval("pimg_mid1") %>"></a></div>
<div class="name">
<a href="javascript:;"><%#Eval("pname")%></a>
<p><%#Eval("pdesc")%></p>
</div>
</div>
<div class="right">
<div class="price">$<%#Eval("pcost")%></div>
<div class="cart">
<a class="button" onclick="addToCart();">
<span>Add to Cart</span></a></div>
<div class="wish-list">
<a onclick="addToWishList();">Add to Wish List</a><br>
<a onclick="addToCompare();">Add to Compare</a></div>
</div>
<p class="clear">
</p>
</div>
</ItemTemplate>
</asp:ListView>
<div class="pagination">
<div class="results" style="float: right;">
<asp:DataPager PageSize="5" ID="listview_pager" PagedControlID="ListView_Products" runat="server">
<Fields><asp:NumericPagerField /></Fields>
</asp:DataPager>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>