在原有的asp程序中用asp.net添加功能模块,共享SESSIONs是一个难点,下面介绍一种较为简洁的方法,可以在asp和asp.net中共享session会话。
登录页面使用C#重新创建,在成功登录后执行语句:
Response.Write("");
打开aspxtoasp.aspx页面,action设为aspxtoasp.asp,即可将session值post到asp页面,因为是单向传递,不用在其他页面重复执行动作,经测试,传递成功!
Aspxtoasp.aspx代码如下:
Response.Write( "
");Response.Write("");
Aspxtoasp.asp代码如下:
<%
for i=1 to Request.Form.Count
Session(Request.Form.Key(i))=Request.Form(i)
next
Response.End
%>
window.close();
这是一个老话题了,因为最近用的到,所以没办法又到处找资料。微软的网站上提供的是用数据库实现的,总觉得太麻烦,也有说直接使用的,但我没有试成功。我认为直接使用是不可能的。还有一种方法,就是通过几个页面转换,我使用的也是这个方法,通过总结搜索到的资料,整理后编写了几个页面来转换。主要是通过隐藏的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("
") Response.Write("
%>
#p#副标题#e#
asptoaspx.aspx
<%@ Page language="c#" %>
private void Page_Load(object sender, System.EventArgs e)
{
Session.Timeout = 60;
for(int i=0;i { Session[Request.Form.GetKey(i)]=Request.Form[i].ToString(); } allsession(); //输出所有的Session,使用时可注释掉 try { if( Session["DestPage"].ToString().Length >4 ) { Server.Transfer(Session["DestPage"].ToString(),true); } } catch {} } private void allsession() { Response.Write ("There are " + Session.Contents.Count +" Session variables "); foreach(object obj in Session.Contents) { Response.Write("Session["+obj.ToString()+"] - "+Session[obj.ToString()].ToString()+" } } asp.net 转 asp 页面: 用一个asp.net页,把session信息写到input中,提交给asp页 trans.aspx <%@ Page language="c#" %> private void Page_Load(object sender, System.EventArgs e) { // ----------测试数据--------- Session["name"] = "srx"; Session["sex"]="F"; //---------------------------- Response.Write("
");//输出所有的Session,使用时可注释掉
foreach(object obj in Session.Contents)
{
Response.Write("
Response.Write(" value = ’"+Session[obj.ToString()].ToString()+"’>");
}
try
{
if(Request.QueryString["DestPage"].ToString().Length > 4 )
{
Response.Write("
Response.Write(" value = ’"+Request.QueryString["DestPage"].ToString()+"’>");
}
}
#p#副标题#e#
catch{}
Response.Write("");
Response.Write("
}
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
’--------------------------------------------
%>
关键词标签:ASP,ASP.Net,共享,Ses
相关阅读
热门文章
诛仙3飞升任务怎么做-诛仙3飞升任务流程最新2022
钟离圣遗物推荐-原神钟离圣遗物词条
解决方法:应用程序“DEFAULT WEB SITE”中的服务器错误
使用aspnet_regiis.exe 重新注册.NET Framework
人气排行 诛仙3飞升任务怎么做-诛仙3飞升任务流程最新2022 asp.net表单提交方法GET\POST 在ASP.NET中如何判断用户IE浏览器的版本 Asp.net中messagebox的实现方法 Asp.net中的web.config配置 在ASP.NET MVC中实现大文件异步上传 asp.net获取URL和IP地址 FileUpload上传多文件出现错误的解决方法
查看所有0条评论>>