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
控件的常用工作者,我只是將這種方法作爲一種「更簡單」的方式使用。
任何人都可以告訴我哪裏出錯了嗎?
感謝您的洞察力......雖然把'的DataBind()'主方法也不起作用。 – TheGeekZn 2013-05-09 12:36:31
感謝您的編輯,將盡快嘗試。 – TheGeekZn 2013-05-09 12:58:04
您可以按照本教程進行自定義分頁。 http://tutorials.cmsnsoftware.com/2011/07/how-to-use-custom-pagination.html – 2013-05-09 13:01:57