把某个变量的值从一个aspx传给给另外一个aspx程序有下面的方法:
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");
}
某个变量的值从一个aspx传给给另外一个aspx
最新推荐文章于 2018-12-28 09:29:15 发布