AJAX 로 구현 되 는 새로 고침 없 는 페이지 구현 코드 (asp. net)
모두 가 알다 시 피 JQuery 는 Javascript 의 패 키 징 라 이브 러 리 입 니 다. 물론 JQuery 도 AJAX 에 대한 패 키 징 을 실 현 했 습 니 다. 여 기 는 페이지 를 JQuery 프레임 워 크 로 직접 사용 하 는 것 입 니 다. 비교적 간단 합 니 다.
먼저 원 리 를 말씀 드 리 겠 습 니 다. 페이지 에 두 가지 요점 이 있 습 니 다. 1. 몇 페이지 가 있 습 니까? 2. 페이지 마다 몇 개의 기록 이 있 습 니까?총 페이지 수 와 모든 페이지 데 이 터 는 서버 에서 되 돌아 와 야 합 니 다.그래서 저 희 는 먼저 일반적인 처리 프로그램 을 만 듭 니 다. PageService. ashx, 사용자 의 요청 을 처리 합 니 다.페이지 매개 변수 가 져 오기: GetPageCount, 페이지 데이터 매개 변 수 는 GetPagedData 와 PageNo 를 사용 합 니 다.다음은 일반 처리 프로그램 PageService. ashx 코드 입 니 다.
PageService.ashx
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string action=context.Request["action"];
if (action == "GetPageCount") // , 。
{
// DataSet ,
int counts = new CommentTableAdapter().GetComentCount().Value;
int page = counts / 10; // 10
if (counts%10 != 0)
{
page++;
}
context.Response.Write(page); // 。
}
else if (action == "GetPageData") // ,
{
int pageNo = Convert.ToInt32(context.Request["PageNo"]);
// ,
var data = new CommentTableAdapter().GetPageData((pageNo-1)*10+1,pageNo*10);
var p1 = data.Select( c =>new {c.name,c.Comment });
JavaScriptSerializer jss = new JavaScriptSerializer();
// json
context.Response.Write(jss.Serialize(p1));
}
}
다음은 htm 페이지 에 데 이 터 를 보 여 줍 니 다.
나 는 여기 서 단지 원 리 를 말 하기 때문에 미 공 방면 에 서 는 가혹 하 게 요구 하지 않 는 다.모든 페이지 의 데이터 가 하나의
페이지 수:
다음은 JQuery 로 페이지 를 불 러 올 때 Comment 이라는 ul 과 pageno 라 는 table 에 데 이 터 를 초기 화 하 는 것 입 니 다.페이지 로 딩 기본 첫 페이지 데 이 터 를 표시 합 니 다.다음은 페이지. htm 페이지 를 새로 고침 하지 않 은 JQuery 코드 입 니 다.
페이지 새로 고침 없 음. htm
<br>$(function(){
<br>//-----------------------------------------------------------
<br>function getPageData(pageNo){ //
<br>$.post("PageService.ashx",{"action":"GetPageData","PageNo":pageNo},function(data,status){
<br>if(status=="success"){
<br>$("#Comment").empty();
<br>var comments=$.parseJSON(data); // json 。
<br>for(var i=0;i<comments.length;i++){
<br>var row=comments[i];
<br>var li= $("<li>"+row.name+" : "+row.Comment+"</li>");
<br>$("#Comment").append(li); // li append Comment/ul 。
<br>}
<br>}
<br>});
<br>}
<br>//-------------------------------------------------------------------
<br>getPageData(1); // ,
<br>//----------------------------------------------------------------/
<br>//
<br>$.post("PageService.ashx",{"action":"GetPageCount"},function(data,status){
<br>if(status=="success"){
<br>var tr1=$("<tr></tr>");
<br>var pageNo=parseInt(data);
<br>for(var i=1;i<=pageNo;i++){
<br>var td=$("<td><a href=''>"+i+"</a></td>");
<br>tr1.append(td);
<br>}
<br>$("#pageNo").append(tr1);
<br>$("#pageNo a").click(function(e){ // , click 。
<br>e.preventDefault(); // a
<br>getPageData($(this).html()); // 。
<br>});
<br>}
<br>});
<br>//----------------------------------------------------------------------------
<br>});
<br>
여러분 의 지적 을 환영 합 니 다. 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.