如何解决session 在asp 和aspx间传递

背景:session 不能在asp与aspx中直接传递。
关键词: Session  Form Request globalization  appSettings  url传递
解决的问题:本文解决session 在asp 和aspx间传递问题, 中文Session问题 , 变量通过url传递问题
要点:
   1) 变量fname用于通过url传递举例;
   2)  Session("username")="中文sdsd中.俄"  用于讲解 session 问题。
   3)session 是被转换成Form 形式传递到aspx的 


若要让例子运行请自行创建工程我的是 AsptoAspxSession,若名字不一样你得在文件对路径、类名和命名空间稍做修改。

共有3个文件 a0.asp----> a.asp---->b.aspx
a.asp 是把session 转换成form 传递的关键代码
注意为了传递中文需要修改 web.config 文件中的globalization 改为:culture="zh-CN" uiCulture="zh-CN"  requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"

其他三个文件是:
<!--a0.asp-->
<%  Session("username")="中文sdsd中.俄"   %>
<% fname="通过url传递的参数" %>
<htm>
<head>
<title></title> 
</head>
<body>
<a  target =_blank href=a.asp?fname=<%=fname %>><%=fname %></a>

<br>
<br>
Session : 
<BR>
<%= Session("username")%>
</body>
</htm>

*******************************************************

<!--a.asp-->
<%
function f()
  dim fname1
  fname1=request("fname")
  
   Response.Write("<form name=t id=t action=http://127.0.0.1/AsptoAspxSession/b.aspx?fname="+fname1+"  method=post >")
   
  Response.Write("<input type=hidden name=username" )
  Response.Write( " value=" & Session("username") & "" >")
   
  Response.Write("</form>")
  Response.Write("<script>t.submit();</script>")

end function
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<% call f()%>
</body> 
</html> 




***************************************************
//b.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace AsptoAspxSession
{
 /// 
 /// b 的摘要说明。
 /// 
 public class b : System.Web.UI.Page
 {
  private void Page_Load(object sender, System.EventArgs e)
  {

//只有一下这几行代码是我写的
   string fname=Request["fname"].ToString();
   Response.Write(fname); 

   string username=Request["username"];
   Response.Write("
"); 
   Response.Write(username); 
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// 
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// 
  private void InitializeComponent()
  {    
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
 }
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值