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

2016-02-19 14:08 38 1 收藏

今天图老师小编给大家介绍下ASP和ASP.Net共享Session解决办法,平时喜欢ASP和ASP.Net共享Session解决办法的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

在原有的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("scriptt.submit();/script");
/script

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

这是一个老话题了,因为最近用的到,所以没办法又到处找资料。微软的网站上提供的是用数据库实现的,总觉得太麻烦,也有说直接使用的,但我没有试成功。我认为直接使用是不可能的。还有一种方法,就是通过几个页面转换,我使用的也是这个方法,通过总结搜索到的资料,整理后编写了几个页面来转换。主要是通过隐藏的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("form name=frm id=frm action=""asptoaspx.aspx"" method=post ") 
for each Item in Session.Contents 
    Response.Write("input type=hidden name=" & Item) 
    Response.Write( " value=" & Session(item) & " ") 
next 
if len(Request.QueryString("Destpage")) 4 then   
    Response.Write("input type=hidden name=DestPage value=" & Request.querystring("DestPage") & "") 
end if 
Response.Write("/FORM") 
Response.Write("scr" + "iptfrm.submit();/scr" + "ipt") 

asptoaspx.aspx

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

%@ Page language="c#" % 
script language=C# runat=server 
private void Page_Load(object sender, System.EventArgs e) 

Session.Timeout = 60; 
for(int i=0;iRequest.Form.Count;i++) 

  Session[Request.Form.GetKey(i)]=Request.Form[i].ToString(); 

allsession(); //输出所有的Session,使用时可注释掉 
try  123下一页 onse.Write strName & " - " & Session.Contents(strName) & "BR" 
 End If 
Next 
end function 
’-------------------------------------------- 
%

上一页123

来源:http://www.tulaoshi.com/n/20160219/1606233.html

延伸阅读
标签: ASP
  DataGrid的分页(2) 这里我紧接上一节,讲DataGrid的分页。在上例中,我们可以看到对于分页控制,本来已经足够了,呵呵,但是只是一个普通的分页,多没有意思,还是给它变些花样好。先讲讲上一节DataGrid控件所用的属性 <ASP:DataGrid id="DataGrid1" runat="server" AllowPaging="True" PageSize=...
标签: ASP
  我们这一节主要是要讲DataBind,这个在ASP.net中是很重要的东东,几乎所有的控件都需要它来控制数据的操作。也可以说是ASP.net的数据核心。 我们先来看一个简单的例子: <% @ Page Language="C#" % <% @ Import Namespace="System.Data" % <Script Language="C#" Runat="Server" pu...
标签: ASP
  Cookie Cookie的用法也和ASP中差不多。比如我们建立一个名为aspcn,值为飞刀的cookie HttpCookie cookie = new HttpCookie["aspcn"]; cookie.Value = "飞刀"; Response.AppendCookie(cookie); 我们取出Cookie值也很简单 HttpCookie cookie = Request.Cookies["aspcn"]; cookieValue = cookie.Value; ...
标签: ASP
  关于Namespace(命名空间)的使用 在前面的程序中我们看到,我常用<% @ Import Namespace="System.Data" %,这是在引用M$为我们提供的Namespace,这和ASP不同的,我们在ASP.net必须先引用与我们操作有关的Namespace后才能使用相应的功能。其实说白了,一个Namespace; 就是一个组件。这个是关于ASP.net的高级应用,我会在后面...
标签: ASP
  ASP+出来都快半年了,我们站点也做了不少的介绍,但是今天飞刀我才终于有了心思来写一下关于这个ASP+的文章了。呵呵,让大家久等了。     首先我得申明,本教程适用于有一定网络编程经验的人,比如asp,php,cgi,jsp开发者,如果你对网络编程一点也不了解,那么您还是先去学学其它的语言,不然以下的文章您会有很多看...

经验教程

676

收藏

94
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部