在原有的asp程序中用asp.net添加功能模块,共享SESSIONs是一个难点,下面介绍一种较为简洁的方法,可以在asp和asp.net中共享session会话。
登录页面使用 C# 重新创建,在成功登录后执行语句:
Response.Write("
1<script language="javascript">window.open('ASPXTOASP.aspx','new');</script>
");
打开 aspxtoasp.aspx 页面, action 设为 aspxtoasp.asp ,即可将 session 值 post 到 asp 页面, 因为是单向传递,不用在其他页面重复执行动作,经测试,传递成功!
Aspxtoasp.aspx 代码如下:
1<script language="C#" runat="server">
2
3Response.Write( "<form name=t id=t action=ASPXTOASP.asp method=post>" );
4
5foreach(object it in Session.Contents)
6
7{
8
9Response.Write("<input type=hidden name=" + it.ToString());
10
11Response.Write( " value=" + Session[it.ToString()].ToString() + " >");
12
13}
14
15Response.Write("</FORM>");
16
17Response.Write("<scr" + "ipt>t.submit();</scr" + "ipt>");
18
19</script>
Aspxtoasp.asp 代码如下:
1
2
3for i=1 to Request.Form.Count
4
5Session(Request.Form.Key(i))=Request.Form(i)
6
7next
8
9Response.End
1<script language="JavaScript">
2
3window.close();
4
5</script>