ASP.NET页面间数据传递小结(3)

发表于:2007-06-30来源:作者:点击数: 标签:
三.使用Session实现Web页面间数据传递: Session会话是编写网页时经常遇到的概念,使用Session传递数据虽然可以克服在使用QueryString时的缺点,但大量的使用则有可能导致 服务器 的瘫痪,尤其是浏览量非常大的页面,使用Session就尤其要注意。解决的办法就
     三.使用Session实现Web页面间数据传递:
  
    Session会话是编写网页时经常遇到的概念,使用Session传递数据虽然可以克服在使用QueryString时的缺点,但大量的使用则有可能导致服务器的瘫痪,尤其是浏览量非常大的页面,使用Session就尤其要注意。解决的办法就是Session使用结束后,必须清除。以下就是在ASP.net中使用Session传递数据的一般步骤,使用的开发工具是Visual Studio .Net,语言是C#:
  
    1. 启动Visual Studio .Net。
  
    2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
  
    3. 将【项目类型】设置为【Visual C#项目】。
  
    4. 将【模板】设置为【ASP.NET Web 应用程序】。
  
    5. 在【位置】的文本框中输入"http://localhost/session"。然后单击【确定】按钮,这样在Visual Studio .Net就会在当前项目文件所在目录中建立一个名称为"session"文件夹,里面存放是此项目的项目文件,项目中的其他文件存放的位置是计算机Internet信息服务的默认的Web站点所在的目录中新建的一个名称为"session"的文件夹中。具体如图07所示:
  
  
  
  
  
  private void Button1_Click ( object sender , System . EventArgs e )
  {
  Session [ "name" ] = TextBox1 . Text ;
  //创建Session变量,用以存放TextBox1组件中的数据
  Session [ "email" ] = TextBox2 . Text ;
  //创建Session变量,用以存放TextBox2组件中的数据
  Server . Transfer ( "WebForm2.aspx" ) ;
  //向目标页面传递数据,如果你是其他页面则替换上面的WebForm2.aspx
  }
  
    10. 把Visual Studio .Net的当前窗口切换到WebForm2页面的代码编辑窗口,即:WebForm2.aspx.cs文件的编辑窗口。用下列代码替换WebForm2.aspx.cs中Page的Load事件对应的处理代码,下列代码的功能是从源页面中接收数据,并通过相应组件显示接收到的数据,并清除创建的Session变量:
  
  private void Page_Load ( object sender , System . EventArgs e )
  {
  Label1 . Text = Session [ "name" ] . ToString ( ) ;
  Label2 . Text = Session [ "email" ] . ToString ( ) ;
  //从源页面中接收数据,显示出来
  Session . Remove ( "name" ) ;
  Session . Remove ( "email" ) ;
  //清除创建的Session的变量
  // 在此处放置用户代码以初始化页面
  }
  
    11. 至此在ASP.NET使用Session实现Web页面间数据传递的方法就介绍完了,此时单击快捷键【F5】运行程序就可以得到如图05和图06所示的运行界面。
  
    四.总结:
  
    本文介绍了二种在ASP.NET这实现Web页面间数据传递的方法,即:QueryString和Session。这二种方法可由千秋又各自拥有无法克服的缺点。总结起来就是QueryString相当简单,Session相对复杂;QueryString安全性差,Session安全性高;QueryString可实现各Web页面简单数据传递,一般就是字符串类型,Session可实现各Web页面间复杂类型数据的传递等等。当然在ASP.NET中实现Web页面数据传递的方法除了上述方法,肯定还可能存在其他更好、更简单的,如有机会,希望能够共同探讨。

原文转自:http://www.ltesting.net