温智星的专栏

动作快一点,能多做很多事,思维快一点,能少做很多事./兴隆店铺管理系统 开发者...

如何解决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
 }
}
 
阅读更多
个人分类: ASP.NET(C#)
上一篇WORD表格变成纯HTML
下一篇.net获取用户电脑名,IP,当前电脑用户
想对作者说点什么? 我来说一句

请问ASPX中如何读取SESSION变量

2010年03月05日 1KB 下载

没有更多推荐了,返回首页

关闭
关闭