기능 소개: 주요 기능은 데이터를 페이지에 표시하는 것입니다. 각 페이지에 표시되는 페이지 번호는 구성 파일에서 구성할 수 있으며 다음은 간단한 쿼리입니다. 제안을 환영합니다. 질문이 있으면 정정해 주세요. 이 렌더링을 보세요. 새로 고쳐지지 않았습니다! !
구체적인 구현은 소스 코드를 참조하세요.
1. aspx 페이지
JS의 구체적인 구현
코드 복사
코드는 다음과 같습니다.
var pageIndex = 1; //페이지 인덱스
var where = " where 1=1";
$(function() {
BindData();
// GetTotalCount (); //총 레코드 수
//GetPageCount(); //바인딩된 총 페이지 수
//첫 번째 페이지 버튼 클릭 이벤트
$("#first").click(function ( ) {
pageIndex = 1;
$("#lblCurent").text(1);
BindData()
})
//이전 페이지 버튼 클릭 이벤트
$("#previous").click(function() {
if (pageIndex != 1) {
pageIndex--;
$("#lblCurent").text(pageIndex) ;
}
BindData();
});
//다음 페이지 버튼 클릭 이벤트
$("#next").click(function() {
var pageCount =parseInt ($("#lblPageCount").text());
if (pageIndex != pageCount) {
pageIndex ;
$("#lblCurent").text(pageIndex);
BindData();
});
//마지막 페이지 버튼 클릭 이벤트
$("#last").click(function() {
var pageCount = parseInt($( "#lblPageCount").text());
pageCount;
BindData()
})
//Query
$("#btnSearch" ).click( function() {
where = " where 1=1";
var csbh = $("#txtCSBH").val()
if (csbh != null && csbh ! = NaN)
pageIndex = 1;
여기서 = " 및 csbh는 '%" csbh "%'"와 같습니다.
BindData()
})
//AJAX 메소드는 데이터를 얻어 페이지에 표시합니다
function BindData() {
$.ajax({
type: "get", //get 메소드를 사용하여 배경에 액세스합니다
dataType: "json", //json 형식으로 데이터 반환
url: "../AjaxService/JgcsService.ashx", //접근할 백엔드 주소
data: { "pageIndex": pageIndex, " where ": where }, //전송할 데이터
ajaxStart: function() { $("#load").show(); },
complete: function() { $("#load" ) .hide(); }, //AJAX 요청이 완료되면 로딩 프롬프트를 숨깁니다
success: function(msg) {//msg는 반환된 데이터입니다. 여기서 데이터 바인딩을 수행하세요
var data = msg. table;
if (data.length != 0) {
var t = document.getElementById("tb_body") //데이터를 표시하는 테이블 가져오기
while (t.rows.length != 0 ) {
t.removeChild(t.rows[0]); //데이터를 읽을 때 테이블에 이미 행이 있는 경우.
}
}
$.each(data, function(i, item) {
$("#jgcsTable").append("
"
"
"
"

})
},
오류: function() {
var t = document.getElementById("tb_body"); //데이터를 표시할 테이블 가져오기
while (t.rows.length != 0) {
t.removeChild(t.rows[0 ]); //데이터를 읽을 때 테이블에 이미 행이 있는 경우. 항상 삭제
}
alert("데이터 로드 실패");
} //로드 실패, 오류 처리 요청
//ajaxStop:$("#load").hide()
});
GetPageCount();
bindPager();
}
// 바닥글 속성 설정
functionbinPager()/ 배포 제어 정보 채우기
var pageCount =parseInt($("#lblPageCount").text()); //총 페이지 수
if (pageCount == 0) {
document.getElementById(" lblCurent").innerHTML = "0";
}
else {
if (pageIndex > pageCount) {
$("#lblCurent").text(1);
}
else {
$("#lblCurent").text(pageIndex); //현재 페이지
}
}
document.getElementById("first").disabled = (pageIndex = = 1 || $("#lblCurent").text() == "0") ? true : false
document.getElementById("previous").disabled = (pageIndex document.getElementById("next").disabled = (pageIndex >= pageCount) ? true : false; .getElementById("last").disabled = (pageIndex == pageCount || $("#lblCurent").text() == "0") ? true : false
//AJAX 메서드 총 페이지 수를 가져옵니다.
function GetPageCount() {
var pageCount
$.ajax({
type: "get",
dataType: "text",
url : " ../AjaxService/JgcsService.ashx",
data: { "wherePageCount": where }, //"wherePageCount" 여기서 개인적으로 이 방법을 사용하지 않는 것이 좋습니다.
async: false,
success : function( msg) {
document.getElementById("lblPageCount").innerHTML = msg;
}
})
}
//총 레코드 수를 가져오는 AJAX 메소드
function GetTotalCount() {
var pageCount;
$.ajax({
type: "get",
dataType: "text",
url: "../AjaxService /JgcsService.ashx",
데이터: { "whereCount": where },
async: false,
success: function(msg) {
document.getElementById("lblToatl").innerHTML = msg;
}
});
3. 일반 핸들러 ashx의 코드
공용 클래스 JgcsService : IHttpHandler
{
readonly int pageSize = 15;
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text / plain";
//브라우저 캐시를 허용하지 않음
context.Response.Buffer = true;
context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
context. Response.AddHeader("pragma", "no-cache");
context.Response.AddHeader("cache-control", "")
context.Response.CacheControl = "no-cache"; 🎜> 문자열 결과 = "";
//총 레코드 수
if (!string.IsNullOrEmpty(context.Request["whereCount"]))
{
string where = context.Request .Params ["whereCount"].ToString();
result = Jgcs.GetToatlNum(where).ToString();
}
//총 페이지 수
if (!string.IsNullOrEmpty (context.Request["wherePageCount"]))
{
string where = context.Request.Params["wherePageCount"].ToString()
int count = Jgcs.GetToatlNum(where); 🎜>string pageCount = Math.Ceiling((double)count / (double)pageSize).ToString();
result = pageCount;
}
//페이징 데이터
if (!string. IsNullOrEmpty(context .Request.Params["pageIndex"])
&& !string.IsNullOrEmpty(context.Request.Params["where"]))
{
string where = context.Request.Params[ "where" ].ToString();
int pageIndex = Convert.ToInt32(context.Request.Params["pageIndex"])
result = GetJsonString(where, pageIndex)
context.Response .Write(result);
///
/// json 문자열 반환
///
/// 페이지 인덱스///
보호된 문자열 GetJsonString(string where, int pageIndex)
{
DataTable dt = Jgcs.GetInfo("csbh", where, pageIndex, pageSize)
return JsonHelper.DataTable2Json(dt , "테이블");
}
공용 bool IsReusable
{
get
{
return false
}
}
4. 페이징 쿼리 방법을 읽거나 남겨둘 수 있습니다. 프로세스를 시작하려면 간단한 예를 들어 설명하겠습니다. 신청할 때 이렇게 작성하지 마세요. 참고용으로만 올려주세요
페이징 방법
코드는 다음과 같습니다
public static DataTable GetInfo(string orderFile, string where, int pageNumber, int pageSize)
{
DBHelper db = new DBHelper();
string str = @"with TestInfo as
(
row_number() over(order by {0} desc) as rowNumber ,*
에서( YW_JGCS에서 CSBH,K,C,S,DSB,TCBJ,LHDCYL,BJJL,BJLX,YLXS,FCTH,KHM1,KHM2,QKCS 선택) 임시 {1}
)
선택 * TestInfo에서
여기서 rowNumber는 (({2}-1)*{3} 1)과 {2}*{3}" 사이에 있습니다.
string strSql = string.Format(str, orderFile, where, pageNumber , pageSize);
try
{
db.DBOpen();
return db.DbDataSet(strSql);
}
catch(예외 예시)
{
throw ex;
}
마지막으로
{
db.DBClose()
}
}
///
///
///
///
public static int GetToatlNum(string where)
{
DBHelper db = new DBHelper()
string strSql = string.Format(@"select count(*) from (CSBH,K 선택) ,C,S,DSB, TCBJ,LHDCYL,BJJL,BJLX,YLXS,FCTH,KHM1,KHM2,QKCS from YW_JGCS) temp {0}", where);
시도
{
db.DBOpen ();
return (int)db.ExecuteScalar(strSql);
}
catch (Exception ex)
{
throw ex; {
db.DBClose ();
}
}
자, 코드는 이게 다입니다

JavaScript 코어 데이터 유형은 브라우저 및 Node.js에서 일관되지만 추가 유형과 다르게 처리됩니다. 1) 글로벌 객체는 브라우저의 창이고 node.js의 글로벌입니다. 2) 이진 데이터를 처리하는 데 사용되는 Node.js의 고유 버퍼 객체. 3) 성능 및 시간 처리에는 차이가 있으며 환경에 따라 코드를 조정해야합니다.

javaScriptUSTWOTYPESOFSOFCOMMENTS : 단일 라인 (//) 및 multi-line (//)

Python과 JavaScript의 주요 차이점은 유형 시스템 및 응용 프로그램 시나리오입니다. 1. Python은 과학 컴퓨팅 및 데이터 분석에 적합한 동적 유형을 사용합니다. 2. JavaScript는 약한 유형을 채택하며 프론트 엔드 및 풀 스택 개발에 널리 사용됩니다. 두 사람은 비동기 프로그래밍 및 성능 최적화에서 고유 한 장점을 가지고 있으며 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

Python 또는 JavaScript를 선택할지 여부는 프로젝트 유형에 따라 다릅니다. 1) 데이터 과학 및 자동화 작업을 위해 Python을 선택하십시오. 2) 프론트 엔드 및 풀 스택 개발을 위해 JavaScript를 선택하십시오. Python은 데이터 처리 및 자동화 분야에서 강력한 라이브러리에 선호되는 반면 JavaScript는 웹 상호 작용 및 전체 스택 개발의 장점에 없어서는 안될 필수입니다.

파이썬과 자바 스크립트는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구와 개인 선호도에 따라 다릅니다. 1. Python은 간결한 구문으로 데이터 과학 및 백엔드 개발에 적합하지만 실행 속도가 느립니다. 2. JavaScript는 프론트 엔드 개발의 모든 곳에 있으며 강력한 비동기 프로그래밍 기능을 가지고 있습니다. node.js는 풀 스택 개발에 적합하지만 구문은 복잡하고 오류가 발생할 수 있습니다.

javaScriptisNotBuiltoncorc; it'SangretedLanguageThatrunsonOngineStenWrittenInc .1) javaScriptWasDesignEdasAlightweight, 해석 hanguageforwebbrowsers.2) Endinesevolvedfromsimpleplemporectreterstoccilpilers, 전기적으로 개선된다.

JavaScript는 프론트 엔드 및 백엔드 개발에 사용할 수 있습니다. 프론트 엔드는 DOM 작업을 통해 사용자 경험을 향상시키고 백엔드는 Node.js를 통해 서버 작업을 처리합니다. 1. 프론트 엔드 예 : 웹 페이지 텍스트의 내용을 변경하십시오. 2. 백엔드 예제 : node.js 서버를 만듭니다.

Python 또는 JavaScript는 경력 개발, 학습 곡선 및 생태계를 기반으로해야합니다. 1) 경력 개발 : Python은 데이터 과학 및 백엔드 개발에 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 적합합니다. 2) 학습 곡선 : Python 구문은 간결하며 초보자에게 적합합니다. JavaScript Syntax는 유연합니다. 3) 생태계 : Python에는 풍부한 과학 컴퓨팅 라이브러리가 있으며 JavaScript는 강력한 프론트 엔드 프레임 워크를 가지고 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구