.Net编程

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

日期:2015-06-28 00:00:00 来源: IT猫扑网

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

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

  Response.Write("");

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

  Aspxtoasp.aspx代码如下:

  ");

  

  Aspxtoasp.asp代码如下:

  <%

  for i=1 to Request.Form.Count

  Session(Request.Form.Key(i))=Request.Form(i)

  next

  Response.End

  %>

  

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

")

  for each Item in Session.Contents

  Response.Write("")

  next

  if len(Request.QueryString("Destpage")) >4 then

  Response.Write("")

  end if

  Response.Write("

")

  Response.Write("frm.submit();")

  %>

#p#副标题#e#

  asptoaspx.aspx

  <%@ Page language="c#" %>

  

  asp.net 转 asp 页面:

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

  trans.aspx

  <%@ Page language="c#" %>

  

  aspxtoasp.asp

  <%

  for i=1 to Request.Form.Count

  Session(Request.Form.Key(i))=Request.Form(i)

  next

  if Len(Session("DestPage")) >4 then

  Response.Redirect(Session("DestPage"))

  end if

  ’----------输出所有的Session-------------

  call allsession() ’使用时注释掉此行代码即可

  function allsession()

  Response.Write "There are " & Session.Contents.Count &" Session variables

"

  Dim strName, iLoop

  For Each strName in Session.Contents’使用For Each循环察看Session.Contents

  If IsArray(Session(strName)) then ’如果Session变量是一个数组? ’循环打印数组的每一个元素

  For iLoop = LBound(Session(strName)) to UBound(Session(strName))

  Response.Write strName & "(" & iLoop & ") - " & _

  Session(strName)(iLoop) & "
"

  Next

  Else ’其他情况,就简单打印变量的值

  Response.Write strName & " - " & Session.Contents(strName) & "
"

  End If

  Next

  end function

  ’--------------------------------------------

  %>

相关文章

相关下载

网友评论

我要评论...
    没有更早的评论了
    取消