因为有了比较成型的CMS,一直没有舍弃ASP,一直想用.net重写一下,是后话了。

jqGrid是一个优秀的基于jQuery的DataGrid框架,想必大伙儿也不陌生,网上基于ASP的资料很少,我提供一个,数据格式是json的:

1、一个针对jqGrid的json类:这段代码似乎是由官网论坛的一些PHP中转化而来,我们存为json.asp,代码贴一下:

1 <%
2 response.Charset="utf-8"
3  '---------------------------------------
4 ' JSONClass类
5 ' 将Select语句的执行结果转换成JSON
6 '------------------------------------------
7  Class JSONClass
8  ' 定义类属性,默认为Private
9  Dim SqlString ' 用于设置Select
10  Dim JSON ' 返回的JSON对象的名称
11  Dim DBConnection ' 连接到数据库的Connection对象
12  
13 ' 可以外部调用的公共方法
14 Public Function GetJSON ()
15 dim Rs
16 dim returnStr
17 dim i
18 dim oneRecord
19
20 ' 获取数据
21 Set Rs= Server.CreateObject("ADODB.Recordset")
22 Rs.open SqlString,DBConnection,1,1
23
24 if page<>"" then
25 epage=cint(page)
26 if epage<1 then epage=1
27 if epage>rs.pagecount then epage=rs.pagecount
28 else
29 epage=1
30 end if
31
32 rs.pagesize = rows
33 rs.absolutepage = epage
34 ' 生成JSON字符串
35 if Rs.eof=false and Rs.Bof=false then
36 returnStr="{ total: "& rs.pagecount &", page: "& page &", records: "& rs.recordcount &", rows:["
37
38 for j=0 to rs.pagesize-1
39 if rs.bof or rs.eof then exit for
40 ' -------
41 'oneRecord = "{id:" & chr(34) &Rs.Fields(0).Value&chr(34)&",cell:["& chr(34) &Rs.Fields(0).Value&chr(34)&","
42 oneRecord = "{id:" & chr(34) &Rs.Fields(0).Value&chr(34)&",cell:["& chr(34) &Rs.Fields(0).Value&chr(34)&","
43 for i=1 to Rs.Fields.Count -1
44 'oneRecord=oneRecord & chr(34) &Rs.Fields(i).Name&chr(34)&":"
45 oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &","
46 Next
47 '去除记录最后一个字段后的","
48 oneRecord=left(oneRecord,InStrRev(oneRecord,",")-1)
49 oneRecord=oneRecord & "]},"
50 '------------
51 returnStr=returnStr & oneRecord
52 Rs.MoveNext
53 next
54
55 ' 去除所有记录数组后的","
56 returnStr=left(returnStr,InStrRev(returnStr,",")-1)
57 returnStr=returnStr & "]}"
58 end if
59 Rs.close
60 set Rs=Nothing
61 GetJSON=returnStr
62 End Function
63
64 '私用方法,在类中使用
65 Private Function check()
66
67 End Function
68 '
69 End Class
70 %>
71

 

相关文章: