本文的创造性在于cookies_to_array(c) 直接简单快捷转化字符串为数组的方法
另外 本文操作的数组 不是 asp普通的多维数组 而是锯齿型的
这种数组 更易操作 更易阅读 行列清晰 很像数据库中的表
可以类比为 datatable
class myarray
'必须为锯齿数组array(array(1,2,3))
function array_to_cookies(a)
dim b(),i,j,u
u = ubound(a)
redim b(u)
for i=0 to u
array_rep a(i)
b(i)=join(a(i),",")
next
array_to_cookies=join(b,";")
end function
sub array_rep(a)
dim i
if isarray(a) then
for i=0 to ubound(a)
if instr(a(i),",")>0 then a(i)=replace(a(i),",","")
if instr(a(i),";")>0 then a(i)=replace(a(i),";","")
next
end if
end sub
function cookies_to_array(c)
c = "array(array("+replace(c,";","),array(")+"))"
execute "cookies_to_array="&c
end function
'以某列为主键 添加或者更新 行
sub add_row(a,ai,columnum)
dim b(),i,j,u
u = ubound(a)
if columnum=-1 then'add
redim b(u+1)
else
redim b(u)
end if
j=0
for i=0 to u
if columnum>-1 then
if a(i)(columnum)<>ai(columnum) then
b(j)=a(i)
j = j+1
else
b(j)=ai
j = j+1
end if
else
b(j)=a(i)
j = j+1
end if
next
if columnum=-1 then
b(j)=ai
end if
a=b
end sub
function get_rownum(a,columnum,columv)
get_rownum=-1
dim i,j,u
u = ubound(a)
for i=0 to u
if a(i)(columnum)=columv then
get_rownum = i
exit function
end if
next
end function
'根据列号 列值 删除某xie行 直接改变原数组
sub delete_row_by_colum(a,columnum,columv)
dim b(),i,j,u
u = ubound(a)
j =0
for i=0 to u
if a(i)(columnum)=columv then
j=j+1
end if
next
redim b(u-j)
j=0
for i=0 to u
if a(i)(columnum)<>columv then
b(j)=a(i)
j = j+1
end if
next
a=b
end sub
'根据行下标删除行
sub delete_row(a,rownum)
dim b(),i,j,u
u = ubound(a)
j =0
redim b(u-1)
刚刚 看到这么一个问题,这里也做个标记:http://topic.csdn.net/u/20080411/14/7b0f9da5-0413-4149-91e9-72c3df3018a3.html?seed=327251592
第一种方式:
//在Visual Studio 2008中调试通过
testPop_Page.aspx:主页面ASPX代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  ......