比我有个网站是用asp做的,有个是asp.net做的,我想在asp的网站登录后,去到asp.net的网站也可以保持状态,也就是不用登录了,用Session该怎么做?以为asp记住Session的方式是Session()=;
而asp.net是Session[]=;一个小括号,一个中括号。能通用吗?怎么做呢?

解决方案 »

  1.   

    以为asp记住Session的方式是Session()=;
    而asp.net是Session[]=;一个小括号,一个中括号。能通用吗
    ----------------------------------
    这并非写法不相同的问题,而是ASP与ASP.NET两者的SESSION根本不一样,无法互用.
      

  2.   

    DotNet中华网:www.aspxcn.orgASP和ASP.Net共享Session解决办法 
     
    在原有的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>
     
      

  3.   

    asp和.net的session是不能通用的,因为他们的机制是不同的所以不行。如果要想共享session的话就必须转换。机制:通过form表单提交session然后重新写session变量。
      

  4.   

    lz可用 wufeng0524(高处不胜寒) 地方法,他们用了都说好!
      

  5.   

    wufeng0524的方法不太安全啊,因为用户可以伪造一个表单提交到Aspxtoasp.asp