把某个变量的值从一个aspx传给给另外一个aspx程序有下面的方法

A

1。   MFC2001(拔剑茫然心四顾)   所说的用Session传递。  
  ASP.NET   允许您使用会话状态(HttpSessionState   类的一个实例)保存每个活动   Web   应用程序会话的值。(有关概述,请参阅会话状态。)  
   
  会话状态与应用程序状态相似,不同的只是会话状态的范围限于当前的浏览器会话。如果不同的用户正在使用您的应用程序,每个用户都将有一个不同的会话状态。此外,如果同一用户在退出后又返回您的应用程序,该用户也将有一个不同的会话状态。  
   
  会话状态是用于存储会话特定信息的键/值词典结构,这些信息需要在服务器往返行程之间和对页的请求之间进行维护。有关更多信息,请参阅会话状态。  
   
  会话状态使您可以:    
   
  唯一标识浏览器或客户端设备请求,并将这些请求映射到服务器上的单独会话实例。    
  在服务器上存储特定于会话的数据,以用于同一个会话内的多个浏览器或客户端设备请求。    
  引发适当的会话管理事件。此外,可以利用这些事件编写应用程序代码。    
  一旦将应用程序特定的信息添加到会话状态中,服务器就会管理该对象。根据您指定的选项,可以将会话信息存储在   Cookie   中、进程外服务器中或   SQL   Server   中。有关用法建议,请参阅状态管理建议。  
   
  a中赋值  
  Session("test")=textbox1.Text;  
   
  b中取值  
   
  string   strtext=Session("test").Tostring();  
  2.Url直接传递   (hbxtx(xy)   所说的)  
  查询字符串是附加到页的   URL   末尾的信息。下面是一个典型的示例:  
   
  http://www.contoso.com/listwidgets.aspx?category=basic&price=100  
  在以上   URL   路径中,查询字符串以问号   (?)   开始,并包含两个属性/值对:一个名为“category”,另一个名为“price”。  
   
  查询字符串提供一种维护某些状态信息的简单但有限的方法。例如,查询字符串是将信息从一页传送到另一页的简便的方法(例如,将产品号从一页传送到将处理该产品号的另一页)。但是,大多数浏览器和客户端设备受到   URL   的长度最多为   255   个字符的限制。此外,查询值通过   URL   向   Internet   公开,因此在某些情况下,安全性可能成问题。    
   
  Source   Web   Form  
  private   void   Button1_Click  
  (object   sender,   System.EventArgs   e)  
  {  
  string   url;  
  url="anotherwebform.aspx?name="   +    
  TextBox1.Text   +   "&email="   +    
  TextBox2.Text;  
  Response.Redirect(url);  
  }  
   
  Destination   Web   Form  
  private   void   Page_Load  
  (object   sender,   System.EventArgs   e)  
  {  
  Label1.Text=Request.QueryString["name"];  
  Label2.Text=Request.QueryString["email"];  
  }  
   
  3.通过cookies传递  
  Cookie  
  Cookie   是少量的数据,这些数据或者存储在客户端文件系统的文本文件中,或者存储在客户端浏览器会话的内存中。Cookie   包含随页输出一起由服务器发送到客户端的特定于页的信息。Cookie   可以是临时的(具有特定的过期时间和日期),也可以是永久的。  
   
  可以使用   Cookie   来存储有关特定客户端、会话或应用程序的信息。Cookie   保存在客户端设备上,当浏览器请求某页时,它会将   Cookie   中的信息连同请求信息一起发送。服务器可以读取   Cookie   并提取它的值。一项常见的用途是存储标记(可能已加密),以指示该用户已经在您的应用程序中进行了身份验证。  
  示例  
  [Visual   Basic,   C#]   下面的示例创建名为“LastVisit”的新   Cookie,将该   Cookie   的值设置为当前日期和时间,并将其添加到当前   Cookie   集合中。Cookie   集合中的所有   Cookie   均通过   HTTP   输出流在   Set-Cookie   头中发送到客户端。  
   
   
  [C#]    
  HttpCookie   MyCookie   =   new   HttpCookie("LastVisit");  
  DateTime   now   =   DateTime.Now;  
   
  MyCookie.Value   =   now.ToString();  
  MyCookie.Expires   =   now.AddHours(1);  
   
  Response.Cookies.Add(MyCookie);  
  示例  
  [Visual   Basic,   C#]   下面的示例依次通过客户端发送的所有   cookie,并将每个   cookie   的名称、过期日期、安全参数和值发送到   HTTP   输出。  
   
   
  [C#]    
  int   loop1,   loop2;  
  HttpCookieCollection   MyCookieColl;  
  HttpCookie   MyCookie;  
     
  MyCookieColl   =   Request.Cookies;  
   
  //   Capture   all   cookie   names   into   a   string   array.  
  String[]   arr1   =   MyCookieColl.AllKeys;  
   
  //   Grab   individual   cookie   objects   by   cookie   name.  
  for   (loop1   =   0;   loop1   <   arr1.Length;   loop1++)    
  {  
        MyCookie   =   MyCookieColl[arr1[loop1]];  
        Response.Write("Cookie:   "   +   MyCookie.Name   +   "<br>");  
        Response.Write("Expires:   "   +   MyCookie.Expires   +   "<br>");  
        Response.Write   ("Secure:"   +   MyCookie.Secure   +   "<br>");  
     
        //Grab   all   values   for   single   cookie   into   an   object   array.  
        String[]   arr2   =   MyCookie.Values.AllKeys;  
   
        //Loop   through   cookie   Value   collection   and   print   all   values.  
        for   (loop2   =   0;   loop2   <   arr2.Length;   loop2++)    
        {  
              Response.Write("Value"   +   loop2   +   ":   "   +   arr2[loop2]   +   "<br>");  
        }  
  }  
   
   
  4。应用程序状态  
  ASP.NET   允许您使用应用程序状态(HttpApplicationState   类的一个实例)来保存每个活动   Web   应用程序的值。应用程序状态是可从   Web   应用程序的所有页访问的全局存储机制,因此可用于存储在服务器往返行程间和各页间需要进行维护的信息。有关更多信息,请参阅应用程序状态。  
   
  应用程序状态是在对特定   URL   的每一请求期间创建的键/值词典结构。可以将特定于应用程序的信息添加到此结构以在页请求期间存储它。  
  5.在   Web   窗体页之间传递值  
  在代码中,使用属性的标准语法声明页上的一项或多项只读属性。返回要向下一页传递的属性值。    
  以下示例显示如何声明名为   Property1   的属性并将它的值设置为该页上文本框的值:    
   
  '   Visual   Basic  
  Public   ReadOnly   Property   Property1()   As   String  
        Get  
              Return   TextBox1.Text  
        End   Get  
  End   Property  
   
  //   C#  
  public   string   Property1  
  {  
        get  
        {  
              return   TextBox1.Text;  
        }  
  }  
  通过调用   Server   对象(HttpServerUtility   类)的   Transfer   方法调用下一页,并向其传递要将信息传递到的页的   URL。    
  以下示例显示如何从事件处理程序中调用名为   WebForm2   的页(在同一项目中):    
   
  '   Visual   Basic  
  Private   Sub   Button1_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button1.Click  
                  Server.Transfer("Webform2.aspx")  
          End   Sub  
   
  //   C#  
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  {  
        Server.Transfer("Webform2.aspx");  


  }

B

“当a.aspx通过Server.Transfer跳转到b.aspx后,如何在b.aspx中获得a.aspx中textBox1的值”的问题,在ASP.NET中还有一个非常直接的实现方法。  
   
  简单的说,在b.aspx中可以通过Context.Handler来获得a.aspx,并通过Page.FindControl()来获得textBox1的值。以下是一段例子代码:  
   
  Page   page=   (Page)Context.Handler;  
  this.Label1.Text   =   ((TextBox)page.FindControl("TextBox1")).Text;  
   
  通过这段代码,当a.aspx中通过Server.Transfer跳转到b.aspx后,就可以在b.aspx中获得a.aspx中TextBox1控件的值。对于其他类型的控件也可以以同样形式访问。  
   
  需要说明的是,这里的TextBox1必须是一个Design-Time添加的Server   Control。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值