关闭

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

标签: sessionaspglobalizationurlhtml
2291人阅读 评论(0) 收藏 举报
分类:
背景: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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:169293次
    • 积分:2051
    • 等级:
    • 排名:第19548名
    • 原创:38篇
    • 转载:53篇
    • 译文:0篇
    • 评论:29条
    最新评论