asp.net 은 저장 프로 세 스 와 div+css 를 이용 하여 페이지 를 나 눕 니 다(블 로그 원 첫 페이지 와 유사)

먼저 다음 과 같은 몇 가 지 를 말씀 드 리 겠 습 니 다.1.설명 이 좀 초급 일 수도 있 습 니 다.고수 가 저 를 뿌리 지 않 았 으 면 좋 겠 습 니 다.왜냐하면 저 는 모든 사람 이 고수 가 아니 라 는 것 을 알 고 있 기 때 문 입 니 다.저도 고수 들 이 제 가 13 인 척 하고 소생 이 재능 이 없다 고 말 할 까 봐 두 렵 습 니 다.2.잘못된 점 이 있 으 면 반드시 겸허 하 게 공부 하 라 고 지적 해 주 십시오.3.본 고 는 작가 의 오리지널 에 속 하고 타인 의 노동 성 과 를 존중 하 며 전 재 는 작가 님,감사합니다.다음은 다음 과 같다.먼저 생각 을 말 하고 저장 과정 을 썼 다.나 도 저장 과정 을 찾 았 지만 내 가 쓴 것 이 아니 라 출처 를 찾 았 다.http://www.cnblogs.com/zhongweiv/archive/2011/10/31/JqueryPagination.html 이것 은 jqurey+ajax 를 통 해 페이지 를 새로 고침 하지 않 는 예 입 니 다.좋 을 것 같 습 니 다.가끔 은 새로 고침 하지 않 아야 하기 때 문 입 니 다.제 가 사용 하 는 저장 과정 은 바로 그곳 에서 copy 로 왔 습 니 다.그러나 저 는 58.com 을 보 았 습 니 다.그리고 다른 사이트 의 정보 페이지 는 새로 고침 되 지 않 을 것 입 니 다.그래서 저 는 특별히 새로 고침 이 있 는 페이지 를 나 누 는 방법 을 썼 습 니 다.자,먼저 저장 과정 을 쓴 다음 에 div+css 를 통 해 페이지 번 호 를 배치 하여 이 페이지 의 매개 변수 값 으로 전 달 했 습 니 다.아 이 디 어 는 StringBuilder 류 배경 레이아웃 div 를 통 해 동적 인 페이지 코드 를 실현 한 다음 에 페이지 코드 를 통 해 저장 과정 을 호출 하여 해당 하 는 정 보 를 얻 는 것 입 니 다.마지막 으로 디 버 깅 을 계속 실행 하여 BUG 를 찾 아 고 치 는 것 입 니 다.배경 코드 를 다시 보 겠 습 니 다.(저 는 3 층 으로 썼 기 때문에 BLL 층,DAL 층 과 Models 층 의 코드 도 첨부 합 니 다)웹(디 스 플레이)배경.cs 코드:
 
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Page.aspx.cs" Inherits="Jquery.Page"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Tandy Tang ...</title>
<style type="text/css">
/* start*/
ul
{
margin:0px;
padding:0px;
}
.page
{
width:700px;
background-color:#ffffff;
height:50px;
margin-top:15px;
}
.page ul li
{
float:left;
display:block;
width:28px;
height:23px;
text-align:center;
margin-left:1px;
vertical-align:middle;
border-style:solid;
border-width:1px;
border-color:#b1add0;
}
.page ul li span
{
display:block;
width:28px;
height:23px;
background-color:#2d8da3;
}
.page ul li span a
{
color:#ffffff;
}
.page ul li a
{
display:block;
width:28px;
height:19px;
text-decoration:none;
color:#354c7e;
font-size:12px;
vertical-align:middle;
padding-top:4px;
}
.page ul li a:hover
{
background-color:#2d8da3;
display:block;
width:28px;
height:19px;
}
.page .point
{
background-color:#ffffff;
width:20px;
height:24px;
display:block;
border-style:solid;
border-width:0px;
border-color:#ffffff;
}
.page .pre
{
width:48px;
height:22px;
display:block;
text-align:center;
border-style:solid;
border-width:1px;
border-color:#b1add0;
}
.page .pre a:hover
{
background-color:#2d8da3;
display:block;
width:48px;
height:19px;
}
.page .next
{
width:48px;
height:22px;
display:block;
text-align:center;
border-style:solid;
border-width:1px;
border-color:#b1add0;
}
.page .next a:hover
{
background-color:#2d8da3;
display:block;
width:48px;
height:19px;
}
/* end*/
/* start*/
.content
{
width:700px;
height:120px;
border-style:solid;
border-width:1px;
border-color:#333333;
margin-bottom:10px;
}
.content_left
{
width:98px;
height:118px;
border-style:solid;
border-width:1px;
border-color:#333333;
float:left;
font-size:12px;
}
.content_right
{
margin-left:10px;
width:588px;
height:118px;
border-style:solid;
border-width:1px;
border-color:#0000ff;
float:left;
}
/* end*/
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lbl1" runat="server"></asp:Label><!-- -->
<asp:Label ID="lbl2" runat="server"></asp:Label><!-- -->
</div>
</form>
</body>
</html>
BLL 층(논리)코드:
 
public static int pageCount = 0;// Session , ,
public int pageindex;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//page , ,
JBLL.JManage manage = new JBLL.JManage();
pageCount = Convert.ToInt32(manage.GetCount().Tables[0].Rows[0]["num"].ToString());
if (Request.QueryString["page"] == null)
{
pageindex=1;
}
else
{
pageindex = Convert.ToInt32(Request.QueryString["page"].ToString());
}
//
GetInfo(pageindex, 10);
Paging(pageindex, 10);
}
}
/// <summary>
///
/// </summary>
private void GetInfo(int pageindex, int size)
{
string strall = "";
int count;
List<JModels.JPerson> list = new JBLL.JManage().GetAllPerson(size, pageindex, "", out count);
StringBuilder sb = new StringBuilder();
foreach (JModels.JPerson p in list)
{
sb.Append("<div class='content'><div class='content_left'>");
sb.Append(p.Name);
sb.Append("</div><div class='content_right'>");
sb.Append(p.Id.ToString());
sb.Append("</div></div>");
}
strall = sb.ToString();
lbl1.Text = strall;
}
private void Paging(int pageindex, int size)
{
string strpage = "";
StringBuilder sb = new StringBuilder();
sb.Append("<div class=\"page\"><ul>");
//
if (pageindex == 1)
{
sb.Append("<li class=\"pre\" style=\"display:none\"><a href=\"Page.aspx?page=" + (pageindex - 1) + "\">&lt;&lt;Prev</a></li>");
}
else
{
sb.Append("<li class=\"pre\"><a href=\"Page.aspx?page=" + (pageindex - 1) + "\">&lt;&lt;Prev</a></li>");
}
//
int pageNum;
if (pageCount % size == 0)
{
pageNum = pageCount / size;
}
else
{
pageNum = pageCount / size + 1;
}
if (pageNum < 11)
{
for (int i = 1; i <= pageNum; i++)
{
if (i == pageindex)
{
sb.Append("<li><span><a href=\"Page.aspx?page=" + i + "\">" + i + "</a></span></li>");
}
else
{
sb.Append("<li><a href=\"Page.aspx?page=" + i + "\">" + i + "</a></li>");
}
}
}
else
{
// 7
if (pageindex > 0 && pageindex < 8)
{
for (int i = 1; i < 9; i++)
{
if (i == pageindex)
{
sb.Append("<li><span><a href=\"Page.aspx?page=" + i + "\">" + i + "</a></span></li>");
}
else
{
sb.Append("<li><a href=\"Page.aspx?page=" + i + "\">" + i + "</a></li>");
}
}
sb.Append("<li class=\"point\">...</li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageNum - 1) + "\">" + (pageNum - 1) + "</a></li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageNum) + "\">" + (pageNum) + "</a></li>");
}
else if (pageindex > 7 && pageindex < (pageNum - 6))
{
sb.Append("<li><a href=\"Page.aspx?page=1\">1</a></li>");
sb.Append("<li><a href=\"Page.aspx?page=2\">2</a></li>");
sb.Append("<li class=\"point\">...</li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageindex - 3) + "\">" + (pageindex - 3) + "</a></li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageindex - 2) + "\">" + (pageindex - 2) + "</a></li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageindex - 1) + "\">" + (pageindex - 1) + "</a></li>");
sb.Append("<li><span><a href=\"Page.aspx?page=" + pageindex + "\">" + pageindex + "</a></span></li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageindex + 1) + "\">" + (pageindex + 1) + "</a></li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageindex + 2) + "\">" + (pageindex + 2) + "</a></li>");
sb.Append("<li class=\"point\">...</li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageNum - 1) + "\">" + (pageNum - 1) + "</a></li>");
sb.Append("<li><a href=\"Page.aspx?page=" + (pageNum) + "\">" + (pageNum) + "</a></li>");
}
else
{
sb.Append("<li><a href=\"Page.aspx?page=1\">1</a></li>");
sb.Append("<li><a href=\"Page.aspx?page=2\">2</a></li>");
sb.Append("<li class=\"point\">...</li>");
for (int i = (pageNum - 7); i <= pageNum; i++)
{
if (i == pageindex)
{
sb.Append("<li><span><a href=\"Page.aspx?page=" + i + "\">" + i + "</a></span></li>");
}
else
{
sb.Append("<li><a href=\"Page.aspx?page=" + i + "\">" + i + "</a></li>");
}
}
}
}
//
if (pageindex == pageNum)
{
sb.Append("<li class=\"next\" style=\"display:none;\"><a href=\"Page.aspx?page=" + (pageindex + 1) + "\">Next&gt;&gt;</a></li>");
}
else
{
sb.Append("<li class=\"next\"><a href=\"Page.aspx?page=" + (pageindex + 1) + "\">Next&gt;&gt;</a></li>");
}
sb.Append("</ul></div>");
strpage = sb.ToString();
lbl2.Text = strpage;
}
DAL 층(데이터 처리)코드:
 
public class JManage
{
public DataSet GetCount()
{
return JDAL.JService.GetCount();
}
///<summary>
///
///</summary>
///<returns></returns>
public DataSet GetCount(string where)
{
return JDAL.JService.GetCount(where);
}
///<summary>
///
///</summary>
///<returns></returns>
public List<JModels.JPerson> GetAllPerson(int size, int index, string where, out int OutTotalCount)
{
return JDAL.JService.GetAllPerson(size, index, where, out OutTotalCount);
}
}
Models 층 코드:
 
public static DataSet GetCount()
{
string sql = "select count(*) as num from qzDatas";
return DBHelp.GetDataSetBySql(sql);
}
///<summary>
///
///</summary>
///<returns></returns>
public static DataSet GetCount(string where)
{
string sql = "select count(*) as num from qzDatas where " + where + "";
return DBHelp.GetDataSetBySql(sql);
}
///<summary>
///
///</summary>
///<returns></returns>
public static List<JModels.JPerson> GetAllPerson(int size, int index, string where, out int OutTotalCount)
{
JModels.JPerson person = null;
List<JModels.JPerson> list = new List<JModels.JPerson>();
DataTable dt = new DataTable();
string[] paramValue =
{
"qzDatas", //
"*", //
"qzDatasId", //
where, //where
"qzDatasId asc", // asc desc
"1", // 1: asc 2: desc 3:
"0", // 0:
""+size, //
""+index //
};
dt = DBHelp.SqlGetDataTable("P_AspNetPage", CommandType.StoredProcedure, paramValue, out OutTotalCount);
foreach (DataRow dr in dt.Rows)
{
person = new JModels.JPerson();
person.Id = Convert.ToInt32(dr["qzDatasId"]);
person.Name = dr["dataName"].ToString();
person.Imgurl = dr["url"].ToString();
person.Email = dr["dataName"].ToString();
list.Add(person);
}
return list;
}
이상 코드 는 제 가 주석 을 달 았 으 니 더 이상 설명 하지 않 겠 습 니 다.그러나 저 는 개선 할 점 이 있 을 것 이 라 고 믿 습 니 다.특히 웹 디 스 플레이 층 의 배경 에 페이지 번 호 를 추가 하 는 부분 은 좋 은 방법 이 있 을 것 입 니 다.만약 에 누가 좋 은 방법 이 있다 면 저 에 게 알려 주 셨 으 면 좋 겠 습 니 다.모두 같이 공부 하 세 요.감사합니다.3.저장 과정 이 어떻게 쓰 여 있 는 지 보 세 요
 
public class JPerson
{
//id
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
//
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
//
private string imgurl;
public string Imgurl
{
get { return imgurl; }
set { imgurl = value; }
}
//Email
private string email;
public string Email
{
get { return email; }
set { email = value; }
}
}
저장 과정 은 상세 하 게 쓰 여 있 을 텐 데...설명 하지 않 겠 습 니 다.이 저장 과정의 용 도 는 매우 많 습 니 다.새로 고침 이 없 는 페이지 를 실현 하려 면 사용 할 수 있 습 니 다.호출 하 는 방법 은 기본적으로 같 습 니 다.여러분 이 직접 시도 해 보 세 요.좋 습 니 다.여기까지 코드 도 대체적으로 완성 되 었 습 니 다.저 는 중요 한 것 은 사고 문제 라 고 생각 합 니 다.생각 이 있 으 면 쉽게 할 수 있 습 니 다.코드 가 어디 가 틀 리 거나 더 좋 은 해결 방안 이 있 으 면 저 에 게 알려 주세요.반드시 겸허 하 게 공부 하 세 요.다음은 효과 도 를 보 겠 습 니 다!효과 도 는 다음 과 같다.
4.567916.한 가지 주의 점 이 있 습 니 다.페이지 에 들 어 갈 때 반드시 매개 변수 page 에 값 을 주어 야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.아 시 잖 아 요!예:http://localhost:60284/Page.aspx?page=88

좋은 웹페이지 즐겨찾기