asp.net页面传值的几种方式

一、Request.QueryString

  1.QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。

  2.使用方法:

  • 在源页面的代码中用需要传递的名称和值构造URL地址(IP地址里面“?”后面的参数的内容,)
  • 在源页面的代码用Response.Redirect(URL);重定向到上面的URL地址中。
  • 在目的页面的代码使用Request.QueryString["name"];取出URL地址中传递的值。

二.Request.Form

    1、Request.Form 获取窗体变量集合。有两重载,即Request.Form[string name]和Request.Form[int index]。

    2、获取表单指定名字的参数值(form表单中的method中一般用post。)。

三、Session

      1.作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。

      2.当客户端向服务器发送一个请求时,如登陆用户ID,服务器接收到该请求,服务器端Session产生一个与该登陆用户相关的SessionID,并将SessioID返回给客户端(Goggle,Firefox,IE等),在新会话开始时,服务器将SessionID当做              cookie存储在用户的浏览器中。

   3.优缺点

  • 优点:1.使用简单,不仅能传递简单数据类型,还能传递对象。

        2.数据量大小是不限制的。

  • 缺点:1.在Session变量存储大量的数据会消耗较多的服务器资源。

        2.容易丢失。

   4.使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Session变量:Session["Name"]="Value(或 object)";

       2.在目的页面的代码使用Session变量取出传递的值。Result = Session["Nmae"]

  session不用时可以销毁它,销毁的方法是:

  •  清除一个:Session.Remove("session名");
  •  清除所有:Session.Clear();

四、Cookie

   1.Cookie用于在用户浏览器上存储小块的信息,保存用户的相关信息,比如用户访问某网站时用户的ID,用户的偏好等,用户下次访问就可以通过检索获得以前的信息。

   2.Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。

   3 .使用方法:

  • 创建cookie

        HttpCookie cookie = new HttpCookie("UserInfo");//创建多值cookie
                  cookie.Expires = DateTime.Now.AddDays(1);//设置cookie的失效时间为一天,如果不设置失效时间,cookie会在浏览器关闭即消失,不会保存本地文件
                  cookie.Values["LoginName"] = txtusername.Text;

           cookie.Values["Pwd"] = txtusername.Text;

        这样创建了一个key为UserInfo的cookie,具有LoginName和Pwd两个属性。

        创建为cookie不要忘记添加cookie,否则是取不出来的

        Response.Cookies.Add(cookie);

    注:如果使用response.Cookies创建cookie就不用写上一句代码了。

  • 取cookie

        HttpCookie cookies = Request.Cookies["UserInfo"];//取cookie

        txtusername.Text = cookies.Values["LoginName"];//取cookie的LoginName属性 赋值给帐号文本框
        txtpass.Attributes.Add("value",cookies.Values["Pwd"]);//密码框不能直接赋值,使用添加属性可以赋值

 

Session与Cookie配对使用,Session在服务器端产生SessionID,并将该SessionID返回给客户端(IE,FireFox,Google等),客户端Cookie来存储该SessionID,整过会话过程中,只要保存SessionID的Cookie不丢失,则Session的信息就不会丢失。

posted @   白栀l  阅读(631)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示