这个是后台代码
public partial class Controls_BookList : System.Web.UI.UserControl
{
IList <BookInfo> dataSource;
string categoryId;
protected void Page_Load ( object sender , EventArgs e )
{
if ( !Page.IsPostBack )
{
BindData ( );
}
}
private void BindData ( )
{
Book book=new Book ( );
categoryId=Request.QueryString [ "categoryId " ];
dataSource=book.GetProductsByCategory ( categoryId );
this.BookListView.DataSource=dataSource as List <BookInfo> ;
this.BookListView.DataBind ( );
}protected void BookListView_PageIndexChanging ( object sender , GridViewPageEventArgs e )
{
BookListView.PageIndex=e.NewPageIndex;
BindData ( );
}
}
这个是前台代码.<div id= "BookListControl ">
<asp:GridView ID= "BookListView " runat= "server " Width= "508px " OnPageIndexChanging= "BookListView_PageIndexChanging " AllowPaging= "True " PageSize= "2 " AutoGenerateColumns= "False " EnableTheming= "False " EnableViewState= "False ">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div class= "BookListClass " style= "width:508px; ">
<div class= "BookName "> <%# Eval( "BookName ") %> </div>
<img alt= ' <%# Eval( "BookName ") %> ' src= ' <%# string.Format( "/Web/Image/{0}.jpg ",Eval( "BookId ").ToString().Replace( " ", " "))%> ' width= "160px " height= "200px "/>
<div class= "AuthorName1 "> 作者: </div> <div class= "AuthorName2 "> <%# Eval( "AuthorName ") %> </div>
<div class= "PublishDate1 "> 出版日期: </div> <div class= "PublishDate2 "> <%# Eval( "PublishDate ") %> </div>
<div class= "Price1 "> 市场价: </div> <div class= "Price2 "> <%# Eval( "Price ") %> </div>
<div class= "MyPrice1 "> MyPrice: </div> <div class= "MyPrice2 "> <%# Eval( "MyPrice ") %> </div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>或者你也可以不用这个,只要实现了IList <T> 绑定到GridView上面分页就行了~~~~
先谢谢了
我这个代码可以分页,但是点到第二页之后就回不到第一页了.......
public partial class Controls_BookList : System.Web.UI.UserControl
{
IList <BookInfo> dataSource;
string categoryId;
protected void Page_Load ( object sender , EventArgs e )
{
if ( !Page.IsPostBack )
{
BindData ( );
}
}
private void BindData ( )
{
Book book=new Book ( );
categoryId=Request.QueryString [ "categoryId " ];
dataSource=book.GetProductsByCategory ( categoryId );
this.BookListView.DataSource=dataSource as List <BookInfo> ;
this.BookListView.DataBind ( );
}protected void BookListView_PageIndexChanging ( object sender , GridViewPageEventArgs e )
{
BookListView.PageIndex=e.NewPageIndex;
BindData ( );
}
}
这个是前台代码.<div id= "BookListControl ">
<asp:GridView ID= "BookListView " runat= "server " Width= "508px " OnPageIndexChanging= "BookListView_PageIndexChanging " AllowPaging= "True " PageSize= "2 " AutoGenerateColumns= "False " EnableTheming= "False " EnableViewState= "False ">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div class= "BookListClass " style= "width:508px; ">
<div class= "BookName "> <%# Eval( "BookName ") %> </div>
<img alt= ' <%# Eval( "BookName ") %> ' src= ' <%# string.Format( "/Web/Image/{0}.jpg ",Eval( "BookId ").ToString().Replace( " ", " "))%> ' width= "160px " height= "200px "/>
<div class= "AuthorName1 "> 作者: </div> <div class= "AuthorName2 "> <%# Eval( "AuthorName ") %> </div>
<div class= "PublishDate1 "> 出版日期: </div> <div class= "PublishDate2 "> <%# Eval( "PublishDate ") %> </div>
<div class= "Price1 "> 市场价: </div> <div class= "Price2 "> <%# Eval( "Price ") %> </div>
<div class= "MyPrice1 "> MyPrice: </div> <div class= "MyPrice2 "> <%# Eval( "MyPrice ") %> </div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>或者你也可以不用这个,只要实现了IList <T> 绑定到GridView上面分页就行了~~~~
先谢谢了
我这个代码可以分页,但是点到第二页之后就回不到第一页了.......
我在BookListView_PageIndexChanging 事件中绑定了.....