原先的页面是asp 用的数据库是access,我现在想用.net做几个新页加上去为什么在aspx中直接取原页面的session是不好用的啊?难道不能传递吗?小弟菜鸟,大虾快救救吧!!

解决方案 »

  1.   

    可以啊, 原页面 : Session["id"] = 你要的值;接受页面 string id = Session["id"].Tostring();
      

  2.   

    主要是通过隐藏的input来实现的。具体方法如下:
    <%Username=Request.Form("Username")
    Password=Request.Form("Password")
    Set Rs = Server.CreateObject("ADODB.Recordset")
    sql="select * from teacher where Uname='"&Username&"' and Pwd='"&Password&"'"
    rs.open sql,cn,1,1
    if rs.bof or rs.eof then
        Response.write("<script>alert('用户名或密码错误!请返回重新输入');window.location.replace('default.asp');</script>")
        Response.End()
    else
    session("Username")=trim(Rs("Uname"))
        response.write("<form name=frm id=frm action=""asptoaspx.aspx"" method=post >")
         Response.Write "<input type=hidden name=uname value="&session("Username")&">"
         Response.Write "<input type=hidden name=flag value=1">"    //此处用来判断登陆还是退出
        response.write("</form>")
        response.write("<scr" + "ipt>frm.submit();</scr" + "ipt>")
    %>
    asptoaspx.aspx
    <%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
    <script runat="server">
         protected void Page_Load(object sender, EventArgs e)
        {        string flag = Request.Form.Get("flag");
            if (flag == "1")
            {             Session["teacher"] = Request.Form.Get("uname");        }
            else
              {             Session["teacher"] = "";            
              }
            
         
                     Response.Redirect("http://127.0.0.1/show");
    }
     
    </script>
    asp.net 转 asp 页面:logincheck.aspx<%@ Page language="c#"  %>
    <script language=C# runat=server>
     private void Page_Load(object sender, System.EventArgs e)
     {Session["teacher"] = uname.Text.Trim().ToString();
    Response.Write("<form name=frm id=frm action=aspxtoasp.asp method=post>");
    Response.Write("<input type=hidden name=username value='"+Session["teacher"]+"'>");
    Response.Write("<input type=hidden name=flag value=1>");
    Response.Write("</form>");
    Response.Write("<scr"+"ipt language='javascript'>frm.submit();</scr"+"ipt>");
    }
    </script>aspxtoasp.asp
     程序代码
    <%flag=request("flag")
    if flag="1" then
    session("teacher")=""
    else
    session("teacher")=request("username")
    end ifResponse.Redirect"xxx.aspx"%>
    代码差不多就是这个样子资料来源:http://www.zjidea.com/blog/article.asp?id=251
      

  3.   

    你用url的形式不好?
    a.aspx?id=你的值
      

  4.   

    用session可能保存的信息是保密的,用url的话 就得对?id=后面的值进行加密 ,还得解密
    哎..看个人爱好了
      

  5.   

    在html中写,在后台用,可能出现页面控件未加载完成,session就取不到值.建议使用ls的做法,a.aspx?id=你的值后台:string aa=Request.QueryString["id"].ToString();就可得到
      

  6.   

    Response.Expires=-1
    Response.AddHeader "Pragma","no-cache"
    Response.AddHeader "cache-control","no-store"
    这几句是什么意思?
      

  7.   

    现在小弟就是想问一下,asp 与.net之间能共享session吗?高手们怎么一会说能,一会说不能,我都快疯了啊!!!
      

  8.   

    哎呀,自己顶一下吧,
     
    大虾们你们快救救小弟啊,asp和asp.net的session共享怎么弄啊 ?