LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[C#]asp.net如何在不同的页面之间传递信息

admin
2021年3月3日 17:34 本文热度 3559
Cookies       QueryString         Application        Session

1、利用cookies保持客户端信息
  .NET System Web 控件名称以下三个类,可以使用它们来处理客户端的Cookies
  1、HttpCookie:提供一个建立和操作独立HTTPcookies的安全类型的方式
  2、HttpResponse:Cookies属性允许客户端cookies被操作
  3、HttpRequest:Cookies属性允许访问客户端操作的cookies
  HttpResponse和HttpRequest对象的Cookies属性将返回一个HttpCookieCollection对象,它可以将单独的cookies添加到集合(collection)中,以及从集合(collection)获得一个单独cookies。
  HttpCookie类针对于客户存储而建立的单独的cookies。一旦HttpCookie对象被建立,可以将其添加到HttpResponse对象的Cookies属性中。同样的,可以通过HttpResponse对象访问现有的cookies。HttpCookies类的共有属性如下:
    1)Domain:获得或设置与cookie有关的域名,可用于限制特定区域的cookie访问
    2)Expires:获得或设置cookie的终止日期和时间,可以将其设置为一个过去的日期以自动禁止或者删除cookie
    3)Names:获得或设置cookie的名称
    4)Path:获得或设置cookie的虚拟路径。这一属性允许限制cookie的范围,也就是说,访问cookie只能限制于一个特定的文件夹或路径。
         设置这一属性限制为只能访问特定路径和该路径下的所有文件
    5)Secure:发信号以表示是否使用SecureSocketsLayer(SSL)来发送cookie值
    6)Value:获得或设置一个单独的cookie值
    7)Values:返回包含在cookie中的key/value的一个集合
  每一个Cookie都是从Cookies中获得的,就是说Cookie是通过索引器的方式获得的。

  利用Response、Request对象读写,语法如下:
    //保存信息到Cookie中
    Response.Cookies["Cookie的名字"].value=变量的值;
    //读取Cookie
    Object 变量名=Request.Cookies["Cookie的名字"].value;

  Cookie属于HttpCookie,所以它的语法也可以写成如下形式:
    //键值对的方式保存信息
    HttpCookie  hCookie = new  HttpCookie("Cookie的名字",值);
    //保存Cookie到Cookies中
    Response.Cookies.Add(hCookie);
例:
//保存信息到Cookie中
protected void btnWrite_Click(object sender, EventArgs e)
{
Response.Cookies["firstcookie"].Value = textbox1.Text.Trim();
Response.Cookies["secondcookie"].Value = textbox2.Text.Trim();
//Response.Cookies["firstcookie"].Expires = DateTime.Now.AddDays(1);
// Response.Cookies["secondcookie"].Value = DateTime.Now.ToString();
}
//获取Cookie中的信息
protected void btnRead_Click(object sender, EventArgs e)
{
textbox1.Text= Request.Cookies["firstcookie"].Value;
textbox2.Text = Request.Cookies["secondcookie"].Value;
}

2、QueryString
  当使用表单的get方式提交数据时,表单中的数据被保存在Request对象的Querystring集合中。除了读取表单对象传递的参数外,Querystring集合还可以通过读取HTTP查询字符串中的参数值来传递参数。使用Querystring集合来传递数据的语法格式为:
  Request.Querystring(变量名)[(索引值)|.变量的个数]

其中各个参数的含义如下:
  1)变量名为在HTTP查询字符串中指定要检索的变量名称
  2)索引值用于检索多个变量值中的某一个
  3)HTTP查询字符串中的变量值由问号(?)后面的值指定

用QueryString在页面间传递值得具体过程有以下三步:
  (1)在源页面的代码中用需要传递的名称和值构造URL地址
  (2)在源页面的代码中用Request.Redirect(URL);重定向到上面的URL地址中
  (3)在目的页面的代码中用Request.QueryString["name"];取出URL地址中传递的值
例:
protected void btnSendMessage_Click(object sender, EventArgs e)
{
//第一步
string urlAddress;
urlAddress = "ReadCookie.aspx?name1=" +
textbox1.Text.ToString() + "&" +
"name2=" + textbox2.Text.ToString() + "&" +
"name3=" + textbox3.Text.ToString();
//第二步
Response.Redirect(urlAddress);
}
protected void btnRead_Click(object sender, EventArgs e)
{
//第三步
textbox1.Text = Request.QueryString["name1"];
textbox2.Text = Request.QueryString["name2"];
textbox3.Text = Request.QueryString["name3"];
}
使用QueryString在页面间传递值的优缺点:
  优点:
    使用简单,对于安全性要求不高时传递数字或文本值非常有效
  缺点:
    1)缺乏安全性,是因为它的值暴露在浏览器的URL地址中
    2)不能传递对象

3、Application
  Application变量在整个应用程序生命周期中都是有效的,类似于使用全局变量,所以可以在不同页面中对它进行存取。它和Session变量的区别在于,前者是所有的用户公用的全局变量,后者是各个用户独有的全局变量。
  Application变量的使用方法如下:
  1)在源页面的代码中创建需要传递的名称和值构造Application变量,如:
    Application["Name"]="Value(Or Object)";
  2)在目的页面的代码使用Application变量取出传递的值,如:
    Result=Application["Name"];
例:
protected void btnSendMessage_Click(object sender, EventArgs e)
{
Application["name1"] = textbox1.Text;
Application["name2"] = textbox2.Text;
Application["name3"] = textbox3.Text;
Response.Redirect("ReadCookie.aspx");
}
protected void btnRead_Click(object sender, EventArgs e)
{
textbox1.Text = Application["name1"].ToString();
textbox2.Text = Application["name2"].ToString();
textbox3.Text = Application["name3"].ToString();
}
使用Application进行页面传值的优缺点:
  优点:
    (1)使用简单,消耗较少的服务器资源
    (2)不仅能传递简单的数据类型,还能传递对象
    (3)数据量大小是不受限制的
  缺点:
    (1)作为全局变量容易被误操作

4、Session
  Session变量和Application变量非常类似,它们的区别在Application变量中提到了。它的使用方法如下:、
  1)在源页面的代码中创建需要传递的名称和值构造Session变量,如:
    Session["name"]="Value(Or Object)";
  2)在目的页面的代码中使用Session变量取出传递的值,如:
    Result=Session["name"];

使用Session进行页面传值的优缺点:
  优点:
    (1)使用简单,不仅能传递简单的数据类型,还能传递对象
    (2)数据量大小是不受限制的
  缺点:
    (1)在Session变量存储大量的数据会消耗较多的服务器资源

该文章在 2021/3/3 17:34:48 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved