2012-11-02 32 views
1

我做了一個ListView,以顯示其正常工作的產品&,但是當我使用DataPager的限制,以在該頁面的產品數量,然後在這裏發生列表視圖分頁工作不正常

    一些問題
  1. 分頁不能一次點擊。我必須點擊它們2次來導航第二頁,等等。
  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&quot;" title="Apple Cinema 30&quot;" 
            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> 

回答