用ASP在函数里实现新值赋给变量,但总出问题,求助
我用ASP在函数里实现新值赋变量,可能表达的不清楚,将下面的代码粘上看一下就知道了。<%dimUserName,PassWord,CArrresponse.write"变...
我用ASP在函数里实现新值赋变量,可能表达的不清楚,将下面的代码粘上看一下就知道了。
<%
dim UserName,PassWord,CArr
response.write "变量名为:UserName;PassWord<hr />"
UserName="ab123cde"
PassWord="ggg123gg"
response.write "变量原值:<b>"&UserName&";"&PassWord&"</b><hr />"
Session("LoginUser")="新值1"
Session("LoginPassWord")="新值2"
response.write "将要赋值:<b>"&Session("LoginUser")&";"&Session("LoginPassWord")&"</a><hr />"
CArr=UserName&"|"&PassWord
Call StoreSession("LoginUser|LoginPassWord",CArr)
response.write "变量现值:UserName="&UserName&";PassWord="&PassWord
'变量现值应该为"新值1"、"新值2"也就是二个session的值
function StoreSession(NM,VL)
dim n,v,i
n=split(NM,"|")
v=split(VL,"|")
for i=0 to ubound(n)
v(i)=Session(n(i)) ‘反过来赋就可以,但我要的是变量的新值
next
end function
%> 展开
<%
dim UserName,PassWord,CArr
response.write "变量名为:UserName;PassWord<hr />"
UserName="ab123cde"
PassWord="ggg123gg"
response.write "变量原值:<b>"&UserName&";"&PassWord&"</b><hr />"
Session("LoginUser")="新值1"
Session("LoginPassWord")="新值2"
response.write "将要赋值:<b>"&Session("LoginUser")&";"&Session("LoginPassWord")&"</a><hr />"
CArr=UserName&"|"&PassWord
Call StoreSession("LoginUser|LoginPassWord",CArr)
response.write "变量现值:UserName="&UserName&";PassWord="&PassWord
'变量现值应该为"新值1"、"新值2"也就是二个session的值
function StoreSession(NM,VL)
dim n,v,i
n=split(NM,"|")
v=split(VL,"|")
for i=0 to ubound(n)
v(i)=Session(n(i)) ‘反过来赋就可以,但我要的是变量的新值
next
end function
%> 展开
展开全部
CArr=UserName&"|"&PassWord
改为
CArr="UserName|PassWord"
v(i)=Session(n(i))
改为
eval(v(i))=Session(n(i))
改为
CArr="UserName|PassWord"
v(i)=Session(n(i))
改为
eval(v(i))=Session(n(i))
更多追问追答
追问
按照你的方法,我改了,但不好用,是不是我没注意到哪块细节?
追答
v(i)=Session(n(i))
改为
eval(v(i) & "=" & Session(n(i)))
由于过年在家,家里的电脑没法测试,所以你自己测试一下了。
展开全部
看了半天~ 不知道理解的对不
你是想通过function,把变量UserName,PassWord的值改变?
那你这个函数就错了
CArr=UserName&"|"&PassWord
这个东西通过函数传过来,是2个变量里的值,而不是变量
所以你这里最终UserName,PassWord还是最开始赋的值
dim UserName,PassWord
……
Call StoreSession("LoginUser|LoginPassWord")
function StoreSession(NM)
dim n,i
n=split(NM,"|")
UserName=Session(n(0))
PassWord=Session(n(1))
end function
你是想通过function,把变量UserName,PassWord的值改变?
那你这个函数就错了
CArr=UserName&"|"&PassWord
这个东西通过函数传过来,是2个变量里的值,而不是变量
所以你这里最终UserName,PassWord还是最开始赋的值
dim UserName,PassWord
……
Call StoreSession("LoginUser|LoginPassWord")
function StoreSession(NM)
dim n,i
n=split(NM,"|")
UserName=Session(n(0))
PassWord=Session(n(1))
end function
追问
朋友,你没理解对我的问题:你这段代码里的UserName,PassWord不是在函数里直接使用,而是通过参数进入到函数里,因为他是个参数,而且是个不确定数量的参数
追答
没明白你的意思
CArr=UserName&"|"&PassWord
Call StoreSession("LoginUser|LoginPassWord",CArr)
这样做了以后UserName,PassWord是不可能发生变化的
CArr单纯的只是一个="ab123cde|ggg123gg" 这样的字符串,不是代表2个变量
这个可不是表示把UserName,PassWord这两个变量通过参数传进函数中
只能重新对你的变量进行赋值
变量1=xxx
变量2=xxx
……
变量n=xxx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询