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 개의 번호가 있습니다. s를 호출합니다. 그러나 2를 클릭 할 때마다 List
에 아무 것도 표시되지 않고 Pager
이 사라집니다.
나는 보통 Repeater
컨트롤의 빈번한 직원이며,이 방법을 단순히 '쉬운'방법으로 만 사용하고 있습니다.
어디서 잘못 알 수 있습니까?
감사이 작동합니다
DataPagerProducts_PreRender
내부DisplayMembers()
를 호출하는 통찰력을위한 ... 주에'은'데이터 바인딩()을두고 있지만 메서드 나던 중 하나를 작동합니다. – TheGeekZn편집 해 주셔서 감사합니다. – TheGeekZn
이 자습서에서는 사용자 지정 페이지 매김을 수행 할 수 있습니다. http://tutorials.cmsnsoftware.com/2011/07/how-to-use-custom-pagination.html –