ASP 프로젝트 의 공통 페이지 넘 기기 모듈

대형 ASP 프로젝트 에서 많은 페이지 가 페이지 넘 기기 기능 과 관련된다.만약 에 모든 페이지 에 페이지 를 넘 기 는 프로그램 을 쓴다 면 이런 작업 은 작업 효율 을 낮 추고 공사 의 모듈 화 에 불리 하 며 코드 를 다시 사용 할 수 없다.따라서 페이지 넘 기기 와 같은 기능 을 모듈 화 하 는 것 이 필요 하 다.   디자인 방법:  1.이 모듈 을 호출 할 때 기록 집합 과 각 페이지 에 표 시 된 기록 항목 만 전달 해 야 합 니 다.  2.링크 를 클릭 하여 페이지 를 넘 길 수도 있 고 페이지 번 호 를 직접 입력 하여 차 로 돌아 간 후에 페이지 를 넘 길 수도 있다.  3.파일 이름 을 고려 하지 마 십시오.프로그램의 매번 페이지 를 넘 길 때마다 현재 페이지 에 있 습 니 다.  위의 세 가지 문 제 를 잘 생각하면 우리 의 공공 페이지 넘 기기 모듈 은 손 을 쓸 수 있다.  <%  '+++++++++++++++++++++++++++++++++++++  '◆모듈 이름: 공통 페이지 넘 기기 모듈  '◆글 건. 이름: TurnPage.asp  '◆입력 인자: Rs_tmp (레코드 모음 PageSize (매 페이지 에 표 시 된 기록 항목 수)  '◆지다 출력: 기록 집합 페이지 넘 기기 기능  '+++++++++++++++++++++++++++++++++++++  '  Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 레코드 모음 ; PageSize 각 페이지 에 표 시 된 기록 항목 수;  Dim TotalPage '총 페이지 수  Dim PageNo '현재 몇 페이지 를 표시 합 니까?  Dim RecordCount '총 기록 항목 수  Rs_tmp.PageSize = PageSize  RecordCount = Rs_tmp.RecordCount  TotalPage = INT(RecordCount / PageSize * -1)*-1  PageNo = Request.QueryString ("PageNo")  '페이지 점프 직접 입력 하기;  If Request.Form("PageNo")<>"" Then PageNo = Request.Form("PageNo")  '몇 페이지 를 선택 하지 않 으 면 기본적으로 첫 페이지 를 표시 합 니 다.  If PageNo = "" then PageNo = 1   If RecordCount <> 0 then  Rs_tmp.AbsolutePage = PageNo  End If  '현재 파일 이름 을 가 져 와 서 페이지 를 넘 길 때마다 현재 페이지 에서 진행 합 니 다.  Dim fileName,postion  fileName = Request.ServerVariables("script_name")  postion = InstrRev(fileName,"/")+1  '현재 파일 이름 을 가 져 와 서 페이지 를 넘 긴 링크 가 현재 파일 을 가리 키 도록 합 니 다.  fileName = Mid(fileName,postion)   %>         총 페이지 수:<%=TotalPage%>페이지  현재<%=PageNo%>페이지     <%If RecordCount = 0 or TotalPage = 1 Then   Response.Write "첫 페이지|앞 페이지|뒷 페이지|끝 페이지"  Else%>  ?PageNo=1">첫 페이지|  <%If PageNo - 1 = 0 Then  Response.Write "이전 페이지|"  Else%>  ?PageNo=<%=PageNo-1%>">앞 페이지|  <%End If  If PageNo+1 > TotalPage Then  Response.Write "백 페이지|"  Else%>  ?PageNo=<%=PageNo+1%>">백 페이지|  <%End If%>  ?PageNo=<%=TotalPage%>">마지막 페이지  <%End If%>  다음으로 이동  <%If TotalPage = 1 Then%>    <%Else%>    <%End If%>페이지        <%End Sub%>  물론 페이지 를 넘 긴 링크 를 그림 버튼 으로 만 들 면 면 면 이 더욱 아름 답 습 니 다.  호출 방법:  1.프로그램 이 시작 되 거나 페이지 를 넘 기 려 는 곳 에 페이지 넘 기기 모듈 파일 을 포함 합 니 다.  2.정의 변수:RowCount,각 페이지 에 표 시 된 기록 항목 수  3.페이지 넘 기 는 과정 호출:Call TurnPage(기록 집,RowCount)  4、Do 에서 While 순환 출력 기록 집합 조건 에 추가" RowCount > 0 " 조건.  5.순환 종료 "루프 앞" 더하기: RowCount = RowCount - 1  '-----------------------------------------------------  범례 호출:  파일 이름:News.asp  <%  Dim Conn,Rs_News  Set Conn = server.CreateObject("ADODB.CONNECTION")  Conn.Open "cpm","cpm","cpm"  Dim Sql  Sql = "Select * from News"  Set Rs_News = Server.CreateObject("ADODB.RECORDSET")  Rs_News.Open Sql,Conn,1,3 '가 져 온 기록 집합  '공통 페이지 넘 기기 모듈 시작%>    <%  Dim RowCount  RowCount = 10 '각 페이지 에 표 시 된 기록 항목 수  Call TurnPage(Rs_News,RowCount)   '공통 페이지 넘 기기 모듈 종료%>       뉴스 번호  뉴스 제목  발표 날짜    <%  If Not Rs_News.eof  Do while Not Rs_News.eof and RowCount>0  %>    <%=Rs_News("ID")%>  <%=Rs_News("Name")%>  <%=Rs_News("Date")%>    <%  RowCount = RowCount - 1  Rs_News.MoveNext  Loop  End If  %>  수정:  <%  If Not Rs_News.eof then  Do while Not Rs_News.eof and RowCount>0  %>  그리고 그 공공 모듈 은
이 부족 합 니 다.  <%  Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 레코드 모음 ; PageSize 각 페이지 에 표 시 된 기록 항목 수;  Dim TotalPage '총 페이지 수  Dim PageNo '현재 몇 페이지 를 표시 합 니까?  Dim RecordCount '총 기록 항목 수  Rs_tmp.PageSize = PageSize  RecordCount = Rs_tmp.RecordCount  TotalPage = INT(RecordCount / PageSize * -1)*-1  PageNo = Request.QueryString ("PageNo")  '페이지 점프 직접 입력 하기;  If Request.Form("PageNo")<>"" Then PageNo = Request.Form("PageNo")  '몇 페이지 를 선택 하지 않 으 면 기본적으로 첫 페이지 를 표시 합 니 다.  If PageNo = "" then PageNo = 1   If RecordCount <> 0 then  Rs_tmp.AbsolutePage = PageNo  End If  '현재 파일 이름 을 가 져 와 서 페이지 를 넘 길 때마다 현재 페이지 에서 진행 합 니 다.  Dim fileName,postion  fileName = Request.ServerVariables("script_name")  postion = InstrRev(fileName,"/")+1  fileName = Mid(fileName,postion)   %>         총 페이지 수:<%=TotalPage%>페이지   현재<%=PageNo%>페이지 총<%=RecordCount%>항목       <%If RecordCount = 0 or TotalPage = 1 Then   Response.Write "첫 페이지|앞 페이지|뒷 페이지|끝 페이지"  Else%>  ?PageNo=1">첫 페이지|   <%If PageNo - 1 = 0 Then  Response.Write "이전 페이지|"  Else%>  ?PageNo=<%=PageNo-1%>">앞 페이지|   <%End If  If PageNo+1 > TotalPage Then  Response.Write "백 페이지|"  Else%>  ?PageNo=<%=PageNo+1%>">백 페이지|   <%End If%>  ?PageNo=<%=TotalPage%>">마지막 페이지   <%End If%>     등급 으로 넘어가다 <% If TotalPage = 1 Then%>      <%Else%>      <%End If%>    페이지         <%End Sub%>

좋은 웹페이지 즐겨찾기