asp.net  web  forms    给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的asp应用程序中,你能够通过post方法很容易的把一个值或多个值从一个页面传送到另一个页面,用同样的方法在asp.net中实现有点麻烦。在这里,我们可以通过其他方式来解决这种情形。asp.net为我们提供了三种方式,一种是可以通过用querystring来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过server.transfer方法来实现。下面分别一一介绍:    
 
一、使用querystring  
        querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下:  
      1、创建一个web  form  
      2、在新建的web  form中放置一个button1,在放置两个textbox1,textbox2    
      3、为button按钮创建click事件  
代码如下:  
         private  void  button1_click  (object  sender,  system.eventargs  e)  
         {  
             string  url;  
             url="webform2.aspx?name="  +    
             textbox1.text  +  "&email="  +    
             textbox2.text;  
             response.redirect(url);  
            }  
      4、新建一个目标页面命名为webform2
      5、在webform2中放置两个label1,label2  在webform2的page_load中添加如下代码:  
         private  void  page_load  (object  sender,  system.eventargs  e)  
         {  
                label1.text=request.querystring["name"];  
                label2.text=request.querystring["email"];  
         }  
         运行,即可看到传递后的结果了。  
 
二、使用session变量  
 
      使用session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把session变量的值removed后,变量才会消失。举个例子看看:  
         1、创建一个web  form  
         2、在新建的web  form中放置一个button1,在放置两个textbox1,textbox2    
         3、为button按钮创建click事件  
代码如下:  
            private  void  button1_click   (object  sender,  system.eventargs  e)  
            {  
                  session["name"]=textbox1.text;  
                  session["email"]=textbox2.text;  
                  response.redirect("webform2.aspx");  
            }  
         4、新建一个目标页面命名为webform2  
         5、在webform2中放置两个label1,label2  在webform2的page_load中添加如下代码:  
            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");  
            }  
         运行,即可看到传递后的结果了。  
 
三、使用server.transfer  
         虽然这种方法有点复杂,但也不失为一种在页面传值的方式。  
举个例子看看:  
         1、创建一个web  form  
         2、在新建的web  form中放置一个button1,在放置两个textbox1,textbox2    
         3、为button按钮创建click事件  
代码如下:  
            private  void  button1_click  (object  sender,  system.eventargs  e)  
            {  
                      server.transfer("webform2.aspx");  
            }  
         4、创建过程来返回textbox1,textbox2控件的值代码如下:  
            public  string  name  
            {  
                      get  {  
                                    return  textbox1.text;  
                              }  
            }  
 
            public  string  email  
            {  
                      get  {  
                                   return  textbox2.text;  
                              }  
            }  
         5、新建一个目标页面命名为webform2  
         6、在webform2中放置两个label1,label2  在webform2的page_load中添加如下代码:  
           private  void  page_load  (object  sender,  system.eventargs  e)  
           {  
                //创建原始窗体的实例  
                      webform1  wf1;  
                //获得实例化的句柄  
                      wf1=(webform1)context.handler;  
                      label1.text=wf1.name;  
                      label2.text=wf1.email;  
 
            }  
         运行,即可看到传递后的结果了。

转载于:https://www.cnblogs.com/old3ds/archive/2006/12/27/604873.html

ASP.NET页面间的传值的几种方法相关推荐

  1. ASP.NET页面间数据传递的几种方法

    1.ASP.NET页面间数据传递的各种方法和分析 1.1 使用Querystring 方法 QueryString 也叫查询字符串, 这种方法将要传递的数据附加在网页地址(URL)后面进行传递.如页面 ...

  2. Asp.net页面之间传递参数的几种方法

    Asp.net页面之间传递参数的几种方法 第一种方法: 通过URL链接地址传递Request.QueryString send.aspx:    protected void Button1_Clic ...

  3. Asp.net页面之间传递参数的几种方法荟萃

    第一种方法: 通过URL链接地址传递  send.aspx:   protected void Button1_Click(object sender,EventArgs e)     {       ...

  4. asp.net 页面之间跳转的几种方法及区别(转)

    <a>标签 1.         <a href="test.aspx"></a> 2.         这是最常见的一种转向方法; Hyper ...

  5. ASP.Net页面保存持久数据的几种方法比较

    之前写了一篇文章介绍Server.Transer()方法的使用及HttpContext类 , 这两天试验了使用Context.Items字典与Session对象在页面间传递值,或者保存持久数据,觉得有 ...

  6. ASP.NET页面间数据传递的方法

    本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. 0.引言 Web页面是无状态的, 服务器对每一次请求都认为来自不同 ...

  7. ASP.NET页面之间传递值的几种方式

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  8. 【项目经验】——ASP.NET页面间传值

    最近项目中涉及到很多页面传值的内容,今天,就和大家分享一下最常用的集中ASP.NET页面间传值的几种方法. 一.QueryString传值 QueryString是平常传值中用的比较多的一种方式,使用 ...

  9. asp.net页面间数据传递(总结篇)

    asp.net页面间数据传递(总结篇) 1. Get(即使用QueryString显式传递)      方式:在url后面跟参数.      特点:简单.方便.      缺点:字符串长度最长为255 ...

最新文章

  1. java.lang.UnsupportedClassVersionError
  2. 转载几个和职业建议相关的文章
  3. GLOBAL TEMPORARY TABLE
  4. tf.broadcast_dynamic_shape
  5. 白鹭引擎开发飞机大战详尽教程(四控制飞机移动)
  6. pycharm中如何调用Anoconda的库
  7. 28. css样式中px转rem
  8. 获得网页中元素的位置
  9. 2、在控制台上输出1—100数字
  10. OleDbCommandBuilder 使用方法
  11. Cookie 、Session、Token理解以及常见问题总结
  12. byteofpython中文gitbook_Gitbook快速简明教程
  13. merge语句_SQL Server MERGE语句概述和示例
  14. C/C++[codeup 1929,]今天星期几
  15. uniapp做微信小程序身份证识别功能(百度云身份证识别api)
  16. 数据库系统常用的数据模型
  17. 遥感影像识别-训练策略
  18. 最短路径系列【最短路径、哈密顿路等】
  19. 线性代数之 伪逆矩阵
  20. html 表格输出excel,html中导出excel表格

热门文章

  1. 直播电商只能卖便宜货吗?
  2. At the beginning of the month, the doctor introduced in the article “iOS
  3. JPM Coin三部曲 (上) :深入理解摩根幣的運作
  4. post报文给mqtt服务器没有响应,post请求转为mqtt的方法
  5. ssms win10_10个SSMS技巧和窍门可提高您的生产力
  6. 使用PowerShell将字符串拆分为数组
  7. Microsoft SQL Server Management Studio(SSMS)概述
  8. ssas_通过SSAS透视图提高可读性
  9. ssas ssrs_如何使用SSAS表格模型数据库创建简单的SSRS报告
  10. shell脚本视频学习1