나는 상대적으로 성숙한 CMS를 가지고 있기 때문에 결코 ASP를 포기한 적이 없습니다. 나는 항상 .net을 사용하여 다시 작성하고 싶었지만 이는 나중에 다루겠습니다. jqGrid는 jQuery를 기반으로 한 뛰어난 DataGrid 프레임워크로, 인터넷에는 ASP 기반 정보가 거의 없습니다. 데이터 형식은 json입니다.
, jqGrid용 json 클래스: 이 코드는 공식 웹사이트 포럼의 일부 PHP에서 변환된 것으로 보입니다. json.asp로 저장하고 코드를 붙여넣습니다.
다음과 같이 코드 코드를 복사합니다.
<%
response.Charset=utf-8
'--------------------------
'JSONClass 클래스
' Select 문의 실행 결과를 JSON으로 변환
'-------------------
클래스JSONClass
'클래스 속성을 정의합니다. 기본값은 비공개입니다.
Dim SqlString ' Select를 설정하는 데 사용됨
Dim JSON '반환된 JSON 객체의 이름
Dim DBConnection '데이터베이스에 대한 연결 개체
'외부에서 호출할 수 있는 공개 메소드
공개 함수 GetJSON()
희미한 Rs
희미한 returnStr
나 어두워
희미한 기록
' 데이터 가져오기
Rs= Server.CreateObject(ADODB.Recordset) 설정
Rs.open SqlString,DBConnection,1,1
페이지<>이면
epage=cint(페이지)
epage<1이면 epage=1입니다.
epage>rs.pagecount이면 epage=rs.pagecount인 경우
또 다른
에페이지=1
종료하면
rs.pagesize = 행
rs.absolutepage = epage
' JSON 문자열 생성
Rs.eof=false이고 Rs.Bof=false인 경우
returnStr={ 총계: & rs.pagecount &, 페이지: & 페이지 &, 레코드: & rs.recordcount &, 행:[
j=0에서 rs.pagesize-1까지
rs.bof 또는 rs.eof인 경우 종료합니다.
'------
'oneRecord = {id: & chr(34) &Rs.Fields(0).Value&chr(34)&,cell:[& chr(34) &Rs.Fields(0).Value&chr(34)&,
oneRecord = {id: & chr(34) &Rs.Fields(0).Value&chr(34)&,cell:[& chr(34) &Rs.Fields(0).Value&chr(34)&,
i=1에서 Rs.Fields.Count -1까지
'oneRecord=oneRecord & 문자(34) &Rs.Fields(i).이름&chr(34)&:
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &,
다음
'레코드의 마지막 필드를 제거한 후,
oneRecord=왼쪽(oneRecord,InStrRev(oneRecord,,)-1)
oneRecord=oneRecord & ]},
'-------------
returnStr=returnStr & oneRecord
Rs.MoveNext
다음
' 모든 레코드 배열을 제거한 후,
returnStr=왼쪽(returnStr,InStrRev(returnStr,,)-1)
returnStr=returnStr & ]}
종료하면
Rs.close
Rs=아무것도 설정하지 않음
GetJSON=returnStr
기능 종료
'클래스에서 사용되는 개인 메서드
비공개 기능 확인()
기능 종료
'
수업 종료
%>
2. list.asp와 같은 데이터를 표시하는 asp 파일을 만듭니다. 코드는 다음과 같습니다.
다음과 같이 코드 코드를 복사합니다.
<!--#포함 파일=conn.asp -->
<!--#include 파일=json.asp -->
<%
희미한 페이지, 행, sidx, sord
페이지 = request.QueryString(페이지) '페이지
행 = request.QueryString(rows) '페이지 크기
sidx = request.QueryString(sidx) '순서대로??
sord = 요청.QueryString(sord)
페이지=이면 페이지= 1이면 종료됩니다.
행 =이면 행 = 10이면 종료됩니다.
sidx =이면 sidx = id end if
sord =이면 sord =asc end if
희미한 strSearchOn, strField, strFieldData, strSearchOper, strWhere
strSearchOn = 요청(_search)
If (strSearchOn = true) 그러면
strField = 요청(검색 필드)
If (strField = id 또는 strField = Title 또는 strField = NickName) 그러면
strFieldData = 요청(검색문자열)
strSearchOper = 요청(searchOper)
'어디에 구성
strWhere = 어디에 & strField
사례 선택 strSearchOper
사례 bw : '시작
strFieldData = strFieldData & %
strWhere = strWhere & LIKE ' & strFieldData & '
사례 eq : '같음
If(IsNumeric(strFieldData)) 그러면
strWhere = strWhere & = & strFieldData
또 다른
strWhere = strWhere & = ' & strFieldData & '
종료 조건
사례 ne: '같지 않음
If(IsNumeric(strFieldData)) 그러면
strWhere = strWhere & <> & strFieldData
또 다른
strWhere = strWhere & <> '& strFieldData &'
종료 조건
사례 lt: '보다 작음
If(IsNumeric(strFieldData)) 그러면
strWhere = strWhere & < & strFieldData
또 다른
strWhere = strWhere & <'& strFieldData &'
종료 조건
사례: '작거나 같음
If(IsNumeric(strFieldData)) 그러면
strWhere = strWhere & <= & strFieldData
또 다른
strWhere = strWhere & <= '& strFieldData &'
종료 조건
Case gt: '보다 큼
If(IsNumeric(strFieldData)) 그러면
strWhere = strWhere & > & strFieldData
또 다른
strWhere = strWhere & > '& strFieldData &'
종료 조건
Case ge: '크거나 같음
If(IsNumeric(strFieldData)) 그러면
strWhere = strWhere & >= & strFieldData
또 다른
strWhere = strWhere & >= '& strFieldData &'
종료 조건
사례 ew : '끝
strWhere = strWhere & LIKE '% & strFieldData & '
사례 cn : '다음을 포함함
strWhere = strWhere & LIKE '% & strFieldData & %'
선택 종료
다음과 같은 경우 종료
종료 조건
server.ScriptTimeout=9000
어둡게 하다
a=new JSONClass로 설정
a.Sqlstring=관리자로부터 ID, 제목, 닉네임, 비밀번호, 마지막 로그인 시간 선택&strWhere& &order by & sidx & & sord
a.dbconnection=콘
응답.쓰기(a.GetJSon())
연결.닫기()
conn = 아무것도 설정하지 않음
%>
검색 코드가 포함되어 있습니다. 이는 기본적으로 읽기를 구현합니다. jqGrid의 editurl 파일은 edit.asp라고 합니다.
다음과 같이 코드 코드를 복사합니다.
<%옵션 명시적%>
<!--#포함 파일=config.asp-->
<%
Dim strOper, strID, strNickName, strTitle, strPwd
strOper = 요청(oper)
strID = 바꾸기(요청(ID),','')
strTitle = 바꾸기(요청(제목),','')
strNickName = 바꾸기(요청(닉네임),','')
strPwd = 바꾸기(요청(Pwd),','')
케이스 strOper 선택
사례 추가: '기록 추가
strSQL = 관리자(Title, NickName, Pwd,LastLoginTime) 값에 삽입('&strTitle&', '&strNickName&', '&strPwd&',Now())
사례 편집: '기록 편집
strSQL = 관리자 세트 업데이트 />사례 del: '기록 삭제
strSQL = 관리자에서 삭제, 여기서 id = &strID
선택 종료
'응답.strSQL 쓰기
희미한 strSQL,rs
OpenDB() 호출
rs = Conn.Execute(strSQL) 설정
CloseDB() 호출
%>
이것은 프론트엔드 index.html 코드입니다.
다음과 같이 코드 코드를 복사합니다.
<!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>
<머리>
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
<title>ASP_jqGrid_Test</title>
<link rel=stylesheet type=text/css href=jquery-ui-1.7.2.custom.css/>
<link rel=stylesheet type=text/css href=jqgrid.css/>
<link rel=stylesheet type=text/css href=ui.multiselect.css/>
<script type=text/javascript src=js/jquery.js></script>
<script type=text/javascript src=js/cn.js></script>
<script type=text/javascript src=js/jqGrid.js></script>
</head>
<본문>
<table id=DataGrid 클래스=스크롤></table>
<div id=pager class=scroll style=text-align:center;></div>
</body>
</html>
<스크립트 유형=텍스트/자바스크립트>
jQuery(#DataGrid).jqGrid({
URL:'list.asp',
데이터 유형: json,
colNames:['ID','관리자 계정','관리자 닉네임','비밀번호','마지막 로그인 시간'],
콜모델 :[
{
이름:'ID',
색인:'ID',
폭:50
},
{
이름:'제목',
색인:'제목',
편집 가능: 사실,
편집 규칙:{
필수: 사실
}
},
{
이름:'닉네임',
색인:'닉네임',
편집 가능: 사실,
편집 규칙:{
필수: 사실
}
},
{
이름:'Pwd',
색인:'Pwd',
편집 가능: 사실,
편집 유형:'비밀번호',
숨겨진: 사실,
편집 옵션:{
크기: 20
},
편집 규칙:{
편집 숨김:참
}
},
{
이름:'마지막 로그인 시간',
색인:'마지막 로그인 시간',
정렬:'오른쪽',
편집 규칙:{
필수: 사실
}
} ], 캡션:관리자 목록,
imgpath:'/이미지',
다중 선택: true,
행번호:20,
행목록:[10,20,30],
호출기: jQuery('#pager'),
정렬 이름: 'ID',
조회수: 사실,
정렬순서:설명,
높이:400,
폭:600,
editurl:edit.asp
});
$('#DataGrid').navGrid('#pager',{
새로 고침: 사실,
편집 : 사실,
추가: 사실,
델: 사실이야,
검색: 사실,
검색텍스트:검색,
edittext: 변경, addtext: 추가, deltext: 삭제
});
</script>
jqGrid, 좋은 것들 ~~