websnap中的session和asp中的session怎么传递?

sandian 2003-08-20 05:23:54
在asp中有一个session.value("me")="aaaaaaaa"
在websnap中的adapter怎么接收?
即在websnap page module中的adapter的adapterfield的ongetvalue事件中如何显示?

谢谢各位了!!!
...全文
53 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
summe 2003-09-26
  • 打赏
  • 举报
回复
vb中可以直接建立asp对象实例,然后就可以按照正常asp写法写isapi了
我在找delphi中得这种方法,利用activex导入无法实现,真是奇怪
如果实现我想各位的问题都能解决,

此贴关注中
猛禽 2003-08-21
  • 打赏
  • 举报
回复
大概还有一个办法可以:就是当从ASP转到WEBSNAP时,把要传的东东放到COOKIE里,也可以通过URL或POST等方法
hiflower 2003-08-21
  • 打赏
  • 举报
回复
WebSnap 的服务端脚本 JSCript 中不允许对 session 变量赋值,只允许读取
session 变量的赋值只能在页模块中进行。

对于 ASP (它实际以 VBScript 为脚本)的语句,WebSnap 不能解释,WebSnap 目前只支持 JSCript 的服务端脚本。
alec_ma 2003-08-21
  • 打赏
  • 举报
回复
我也试过这样,还没解决:(
sandian 2003-08-21
  • 打赏
  • 举报
回复
上贴中我在asp页中直接用超联接联到dll上,但是没有效果

后来又想了个办法:
在websnap产生的html页中包含有session变量的asp页
但是在web app debugger中出错了
:"Error[0]: 'session' 未定义"
sandian 2003-08-21
  • 打赏
  • 举报
回复
多谢各位!
hiflower(花),我在asp页中使用了如下语句:
<script language="JScript">
session.value('me')='asdasdas';
</script>
即该session得到一个字符串
再在websnap中使用webcontext.session.value['me']
想得到这个字符串

但是JScript的语句似乎不是这样写的
我接触JScript不多,大家能不能帮我一下啊?

还有,如果在asp页用<%session.value("me")="asdasdas"%>的话
websnap就得不到这个session值了
只能用Jscrip吗?555~

li3365 2003-08-21
  • 打赏
  • 举报
回复
var
billNO:string;

procedure TPageProducerPage1.WebAppComponentsBeforeDispatch(
Sender: TObject; Request: TWebRequest; Response: TWebResponse;
var Handled: Boolean);
begin
Billno:=request.QueryFields.Values['BillNo'];
end;

procedure Tpage1.FieldGetValue(Sender: TObject; var Value: Variant);
begin
value:=BillNo;

end;





你再试试
sandian 2003-08-21
  • 打赏
  • 举报
回复
原来不是post,是get呀~
接受答案了~

谢谢大家帮了俺的大忙!!
sandian 2003-08-21
  • 打赏
  • 举报
回复
TO li3365(步惊云):
你的asp页俺照抄了 ^^
在websnop中我是这么写的:

procedure Tpage1.FieldGetValue(Sender: TObject; var Value: Variant);
begin
value:=request.QueryFields.Values['BillNo'];
end;

但是在dll中没有显示出BillNo的值
是不是少加了控件?
还是request不是这么用的?

再指点一下吧?
谢谢~
li3365 2003-08-21
  • 打赏
  • 举报
回复
老大,改一下不会吗?

<input type=hidden name="BillNo" value="<%session.value("me")="asdasdas"%>">

不就把Session里的变量,通过URL,POST到了Websnap了吗?

Asp页面用的Session 和Websnap里的Session不是同一个会话,它们的SessinID不一样,里面的变量当然就不一样
sandian 2003-08-21
  • 打赏
  • 举报
回复
我要昏倒了......
有人告诉我:"jscript 是客户端脚本语言,不支持session"

如果在jscript里不能用
在VBscript里也不支持
那我就完了~


sandian 2003-08-21
  • 打赏
  • 举报
回复
哎~
在这上面花的工夫太多了,
早知道就用一样好了~
asp+websnap中间出现的问题好多啊
现在在asp和websnap上都各有一个同名的session
即两个都用到了session("me")
但这两者之间却不能传递

TO hiflower(花):
能不能给段现成的JScript代码啊?
JScript中怎么使用session我找不到
VBScript在websnap中又解释不了~

TO Raptor(猛禽):
用cookies我也想过
但是用法好象太复杂了
如果你有具体的实现方法,发给我看看好吗?

hiflower 2003-08-20
  • 打赏
  • 举报
回复
WebSnap 的 服务端脚本语言是 JSCript,里面一些对象与 ASP 的对象类似
比如 Session 对象,在 JSCript 中写 Session.Values('Name')
在 .PAS 文件中 这样写:Session.Values['Name']
Session 对象的值不需要用 AdapterField 来取,可以直接用上述方法取得
li3365 2003-08-20
  • 打赏
  • 举报
回复
Mydll.dll中的WebSnap代码:

With ADOQEveryOne do begin
close;
sql.Clear;
sql.Add(format(vC,[Request.QueryFields.Values['BillNo'],
Request.QueryFields.Values['Amount'],
Request.QueryFields.Values['Date']
]));
open;
end;
li3365 2003-08-20
  • 打赏
  • 举报
回复
Asp页代码:

<form action="http://localHost/Mydll.dll?PrePayC" METHOD=POST>
<p><table>
<input type=hidden name=" BranchID " value="0755">
<input type=hidden name="CoNo" value="100001">
<input type=hidden name="BillNo" value="000023">
<input type=hidden name="Amount" value="818.66">
<input type=hidden name="Date" value="19981010">
<tr>
<td>定单号<td>000023
<tr>
<td>金 额<td>818.66
<tr>
<td>日 期<td>19981010
<tr>
<td><input type=submit value="提交">
</table>
</form>

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧