日期:2013-12-02  浏览次数:20506 次

在原有的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("<scr" + "ipt>t.submit();</scr" + "ipt>");



</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>