2013-05-09 70 views
0

我按照教程at codeproject,並且偶然發現了一個問題。分頁不能使用列表視圖

我有一個ListView,列出所有我的網站目前的成員姓名:

<asp:ListView ID="lstMembers" runat="server"> 
    <LayoutTemplate> 
     <table> 
      <tr> 
       <th>Name</th> 
      </tr> 
      <tr id="itemPlaceholder" runat="server"></tr> 
     </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <tr> 
      <td> 
       <%# Eval("MemberName") %> 
      </td> 
     </tr> 
    </ItemTemplate> 

</asp:ListView> 

而且一個DataPager下:

<asp:DataPager ID="DataPagerProducts" runat="server" PagedControlID="lstMembers" 
    PageSize="3" OnPreRender="DataPagerProducts_PreRender"> 
    <Fields> 
     <asp:NumericPagerField /> 
    </Fields> 
</asp:DataPager> 

我使用以下綁定到列表(每個教程):

List<Members> member = new List<Members>(); 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(Page.IsPostBack) return; 

    DisplayMembers(); 
} 

private void DisplayMembers() 
{ 
    const string strSql = "SELECT DISTINCT [id], [memberNickname] FROM vwGetMemberDetails ORDER BY [memberNickname]"; 
    SqlCommand sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text }; 

    SqlDataReader rdr = sqlComm.ExecuteReader(); 
    while (rdr.Read()) 
    { 
     member.Add(new Members 
      { 
       MemberId = rdr["id"], 
       MemberName = rdr["memberNickname"] 
      }); 
    } 

    rdr.Close(); 
    DataConn.Disconnect(); 
} 

private class Members 
{ 
    public object MemberId { get; set; } 
    public object MemberName { get; set; } 
} 

protected void DataPagerProducts_PreRender(object sender, EventArgs e) 
{ 
    lstMembers.DataSource = member; 
    lstMembers.DataBind(); 
} 

所以目前有2個數字在尋呼機上。但是,每次單擊2時,List都不顯示,並且Pager消失。

我通常是Repeater控件的常用工作者,我只是將這種方法作爲一種「更簡單」的方式使用。

任何人都可以告訴我哪裏出錯了嗎?

回答

1

您的變量model未在DataPagerProducts_PreRender中更新,因此它始終顯示已在頁面加載中加載的相同數據集。

編輯


去除if(Page.IsPostBack) return;或致電DisplayMembers()DataPagerProducts_PreRender內將工作對我來說這

+0

感謝您的洞察力......雖然把'的DataBind()'主方法也不起作用。 – TheGeekZn 2013-05-09 12:36:31

+0

感謝您的編輯,將盡快嘗試。 – TheGeekZn 2013-05-09 12:58:04

+0

您可以按照本教程進行自定義分頁。 http://tutorials.cmsnsoftware.com/2011/07/how-to-use-custom-pagination.html – 2013-05-09 13:01:57