2007-06-04

ASP和ASP.Net共享Session解决办法

来源: 本站收集整理 作者:佚名 评论 0 条
 

在原有的asp程序中用asp.net添加功能模块,共享SESSIONs是一个难点,下面介绍一种较为简洁的方法,可以在asp和asp.net中共享session会话。

登录页面使用C#重新创建,在成功登录后执行语句:

Response.Write("<script language='javascript'>window.open('ASPXTOASP.aspx','new');</script>");

打开aspxtoasp.aspx页面,action设为aspxtoasp.asp,即可将session值post到asp页面,因为是单向传递,不用在其他页面重复执行动作,经测试,传递成功!

Aspxtoasp.aspx代码如下:

<script language="C#" runat="server">
Response.Write( "<form name=t id=t action=ASPXTOASP.asp method=post>" );
foreach(object it in Session.Contents)
{
Response.Write("<input type=hidden name=" it.ToString());
Response.Write( " value=" Session[it.ToString()].ToString() " >");
}
Response.Write("</FORM>");
Response.Write("<script>t.submit();</script>");
</script>

Aspxtoasp.asp代码如下:

<%
for i=1 to Request.Form.Count
Session(Request.Form.Key(i))=Request.Form(i)
next
Response.End
%>
<script language="JavaScript">
window.close();
</script>

这是一个老话题了,因为最近用的到,所以没办法又到处找资料。微软的网站上提供的是用数据库实现的,总觉得太麻烦,也有说直接使用的,但我没有试成功。我认为直接使用是不可能的。还有一种方法,就是通过几个页面转换,我使用的也是这个方法,通过总结搜索到的资料,整理后编写了几个页面来转换。主要是通过隐藏的input来实现的。具体方法如下:

asp 转 asp.net 页面:

用一个asp页,把session信息写到input中,提交给asp.net页

trans.asp

<%
’’----------测试数据--------
session("name")="srx"
session("id")="1"
session("sex")="f"
session("pass")="asdfas"
session("age")="23"
session("weight")="131"
’’--------------------------
Response.Write("<form name=frm id=frm action=""asptoaspx.aspx"" method=post >")
for each Item in Session.Contents
    Response.Write("<input type=hidden name=" & Item)
    Response.Write( " value=" & Session(item) & " >")
next
if len(Request.QueryString("Destpage")) >4 then  
    Response.Write("<input type=hidden name=DestPage value=" & Request.querystring("DestPage") & ">")
end if
Response.Write("</FORM>")
Response.Write("<scr" "ipt>frm.submit();</scr" "ipt>")
%>

asptoaspx.aspx

<%@ Page language="c#" %>
共3页: 上一页 1 [2] [3] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:ASP保存远程图片到本地 同时取得第一张图片  
下一篇:ASP.NET技术获取IP与MAC地址的方法
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号