> 웹 프론트엔드 > JS 튜토리얼 > Jquery Ajax.ashx 효율적인 페이징 구현 code_jquery

Jquery Ajax.ashx 효율적인 페이징 구현 code_jquery

WBOY
풀어 주다: 2016-05-16 18:44:07
원래의
1434명이 탐색했습니다.

과거에는 남용될 정도로 UpdatePanel UpdateProgress 및 기타 컨트롤을 사용하는 데 익숙했습니다. 새로 고침을 수행하지 않고 이 로딩 그림 프롬프트를 만들었지만 성능이 저하되는 것처럼 느껴졌습니다. 웹사이트의 무결성이 손상되었습니다.

하지만 Jquery를 배운 후 Jquery.ajax, Jquery.get 및 기타 방법을 배웠고, 이를 통해 webservice 및 .ashx 파일을 사용하여 서버와 상호 작용하는 방법을 배웠습니다.
이번에는 Jquery 페이징이 .ashx 파일과 조정됩니다.
현재 페이지, 다음 페이지, 이전 페이지를 각각 처리하기 위해 PreviewHandler.ashx, PageHandler.ashx 및 NextHandler.ashx라는 3개의 .ashx를 만듭니다.
PageHandler.ashx

코드 복사 코드는 다음과 같습니다.

public void ProcessRequest (HttpContext 컨텍스트)
{
context.Response.ContentType = "text/plain"
IQueryable 답변 = xt.Answer.Take(10)
StringBuilder sb = new StringBuilder( );
sb.Append("");
foreach(답변에 a를 입력하세요)
{
sb.Append("");
}
sb.Append("
답변 내용사용자 이름 응답생성 시간
" a.Answer_content "" a.Answer_UserName "" td>
");
context.Response.Write(sb);
}

NextHandler.ashx
코드 복사 코드는 다음과 같습니다.

public void ProcessRequest( HttpContext 컨텍스트)
{
context.Response.ContentType = "text/plain";
int RowCount = 10
int Current = Convert.ToInt32(context.Request.Params[" index"] ) 1;
IQueryable 응답 = xt.Answer.Skip(RowCount * (Current - 1)).Take(RowCount);
StringBuilder sb = new StringBuilder();
sb .Append( "");
foreach(답변에 a를 입력하세요)
{
sb.Append("");
}
sb.Append ("
답변 내용 답변 사용자 이름 생성 time
" a.Answer_content "< ; /td>" a.Answer_UserName "" a.Answer_Creatime "
");
context.Response.Write(sb)
}

PreviewHandler.ashx
코드 복사 코드는 다음과 같습니다.

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = " text/plain" ;
int RowCount = 10;
int Current = Convert.ToInt32(context.Request.Params["index"]) - 1;
IQueryable 답변 = xt.Answer. Skip(RowCount * (Current - 1)).Take(RowCount);
StringBuilder sb = new StringBuilder()
sb.Append(" ;");
foreach(답변 a 답변에서)
{
sb.Append("");
}
sb.Append("
답변 내용 답변 사용자 이름 생성 시간
" a.Answer_content "" a.Answer_UserName "
");
context.Response.Write(sb) ;
}

세 파일의 코드는 대부분 유사하며 Jquery.get()을 사용하여 html 또는 aspx 파일을 통해 호출됩니다.
코드 복사 코드는 다음과 같습니다.


var Init=function(){
$.get("PageHandler.ashx",function(data){
document.getElementById('content').innerHTML=data;
$(' .currIndex').attr('value',"1");
document.getElementById("PageInfo").innerHTML="当前第1页"
});
}
var Preview=function(){
var current=$('.currIndex').attr('value');
var pre=숫자(현재)-1;
$.get("PreviewHandler.ashx",{index:current},function(data){
document.getElementById('content').innerHTML=data;
$('.currIndex') .attr('value',pre);
document.getElementById("PageInfo").innerHTML="当前第" pre "页"
});
}
var Next=function(){
var current=$('.currIndex').attr('value');
var next=숫자(현재) 1;
$.get("NextHandler.ashx",{index:current},function(data){
document.getElementById('content').innerHTML=data;
$('.currIndex') .attr('value',next);
document.getElementById("PageInfo").innerHTML="当前第" next "页"
});
}

调用.ashx文件生成数据即可,点击下一页,将NextHandler.ashx文件的内容覆盖PageHandler.ashx文件内容。
结果如답:
Jquery Ajax.ashx 효율적인 페이징 구현 code_jquery
有待解决的问题是,对这些行进行编辑,我在.ashx文件加了 一个
而且在.aspx文件上也写了del method ,但是会报错,개체 예상 오류 ,这个错误,应该是找不到 del方법吧,他们的生成时间,不懂,还未解决,
谁能解决可以告诉我。。。
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿