页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BanksList.aspx.cs" Inherits="AutomatedValuation.GwWebsite.Home.BanksList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="gridView" runat="server" AllowPaging="false" Width="100%" CellPadding="3"
BorderWidth="1px" DataKeyNames="bank_id" OnRowCommand="gridView_RowCommand"
AutoGenerateColumns="false" PageSize="10" RowStyle-HorizontalAlign="Center" BorderStyle="None" GridLines ="None">
<Columns>
<%--<asp:BoundField DataField="bank_id" HeaderText="序号" SortExpression="bank_id" ItemStyle-HorizontalAlign="Center" />--%>
<asp:BoundField DataField="bank_name" HeaderText="" SortExpression="bank_name" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="bank_address" HeaderText="" SortExpression="bank_address" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField ControlStyle-Width="50" HeaderText="" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButtons_Zs" runat="server" CausesValidation="false" CommandName="bank_url" CommandArgument='<%#Eval("bank_url") %>'
Text="查看"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle HorizontalAlign="Right" BackColor="#E8F4FF"></PagerStyle>
</asp:GridView>
<webdiyer:aspnetpager ID="AspNetPager1" runat="server" UrlPaging="false" AlwaysShow="true"
FirstPageText="首页" LastPageText="末页" OnPageChanged="AspNetPager1_PageChanged"
NextPageText="下一页" PrevPageText="上一页" CustomInfoHTML="目前是第%CurrentPageIndex%页 / 总共%PageCount%页"
ShowCustomInfoSection="Right" PagingButtonSpacing="0px" NumericButtonCount="5"
CssClass="pages" CurrentPageButtonClass="cpb" SubmitButtonText="跳转">
</webdiyer:aspnetpager>
</div>
</div>
</div>
</div>
</form>
</body>
</html>
后台代码:
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ValuationBLL;
using ValuationModel;
namespace AutomatedValuation.GwWebsite.Home
{
public partial class BanksList : System.Web.UI.Page
{
BanksBLL bll = new BanksBLL();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindData();
}
}
public void BindData()//数据库查询功能
{
int currentPage = AspNetPager1.CurrentPageIndex - 1;
int pageSize = AspNetPager1.PageSize;
List<Banks> ds = new List<Banks>();
StringBuilder strWhere = new StringBuilder();
strWhere.AppendFormat("1=1");
ds = bll.GetModelList(strWhere.ToString(), "bank_id", currentPage * pageSize + 1, AspNetPager1.CurrentPageIndex * pageSize);//bank_id根据数据库中id字段名修改
AspNetPager1.RecordCount = bll.GetRecordCount(strWhere.ToString());
gridView.DataSource = ds;
gridView.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
//txtXq.Text = txtXq.Text;
BindData();
}
protected void gridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
string url = e.CommandArgument.ToString();//点击查看可以跳转页面的
Response.Redirect(url);
}
}
}
数据查询用的是三层架构的思维。
BanksBLL bll = new BanksBLL();的bll.GetModelList()方法
/// <summary>
/// 获得数据列表 分页
/// </summary>
public List<Banks> GetModelList(string strWhere, string orderby, int startIndex, int endIndex)
{
DataSet ds = dal.GetListByPage(strWhere, orderby, startIndex, endIndex);
return DataTableToListfy(ds.Tables[0]);
}
/// <summary>
/// fenye获得数据列表
/// </summary>
public List<Banks> DataTableToListfy(DataTable dt)
{
List<Banks> modelList = new List<Banks>();
int rowsCount = dt.Rows.Count;
if (rowsCount > 0)
{
Banks model;
for (int n = 0; n < rowsCount; n++)
{
model = dal.DataRowToModel(dt.Rows[n]);
if (model != null)
{
modelList.Add(model);
}
}
}
return modelList;
}
/// <summary>
/// 分页获取数据列表
/// </summary>
public int GetRecordCount(string strWhere)
{
return dal.GetRecordCount(strWhere);
}
BanksDAL的dal.GetListByPage()方法
/// <summary>
/// 分页获取数据列表
/// </summary>
public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM ( ");
strSql.Append(" SELECT ROW_NUMBER() OVER (");
if (!string.IsNullOrEmpty(orderby.Trim()))
{
strSql.Append("order by T." + orderby);
}
else
{
strSql.Append("order by T.bank_id desc");//这里的bank_id需要根据你的数据库id字段进行修改
}
strSql.Append(")AS Row, T.* from Banks T ");//这里的Banks就是表的名称
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.Append(" WHERE " + strWhere);
}
strSql.Append(" ) TT");
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
return DbHelperSQL.Query(strSql.ToString());
}
public Banks DataRowToModel(DataRow row)
{
Banks model = new Banks();
if (row != null)
{
if (row["bank_id"] != null && row["bank_id"].ToString() != "")
{
model.bank_id = int.Parse(row["bank_id"].ToString());
}
if (row["bank_category"] != null)
{
model.bank_category = row["bank_category"].ToString();
}
if (row["bank_name"] != null)
{
model.bank_name = row["bank_name"].ToString();
}
if (row["bank_address"] != null)
{
model.bank_address = row["bank_address"].ToString();
}
if (row["bank_summary"] != null)
{
model.bank_summary = row["bank_summary"].ToString();
}
if (row["bank_services"] != null)
{
model.bank_services = row["bank_services"].ToString();
}
if (row["bank_url"] != null)
{
model.bank_url = row["bank_url"].ToString();
}
}
return model;
}
/// <summary>
/// 获取记录总数
/// </summary>
public int GetRecordCount(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) FROM Banks ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
object obj = DbHelperSQL.GetSingle(strSql.ToString());
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}