Asp.Net页面传值的方法简单总结【原创】

1、QueryString

当页面上form按照get的方式向页面发送请求数据的时候,web server会将请求数据放入

一个QEURY_STRING的环境变量中,然后通过QeueryString方法从这个变量中获取相应的参数。

例如:

发送参数页面Test1.aspx 按钮单击代码:

string url = "Test2.aspx?id="+ txtId.Text;

Response.Redirect(url);

接收参数页面 Test2.aspx

后台代码获取:string id=Request.QueryString["id"];

优点:使用比较简单

缺点:安全性低,参数直接暴露在url上,并且不能传递对象。

2、Session

把需要传的值放在Session变量中,然后在另外一个变量中使用它,session存放在服务器端,

在Session变量中存储过多的变量,会消耗较多的服务器资源,所以要及时清理不需要的Session变量。

优点:能传递复杂对象,数据量大小不限制

缺点:作为全局变量,容易误操作。

用法:

Session["id"]= txtId.Text;

在接收页面调用:string id=Session["id"].ToString();

3、Application

Application在整个应用程序生命周期都是有效的,类似于使用全局变量,是所有的用户

共用的全局变量,session是单个用户独有的全局变量,Application一般用于记录用户

信息、统计在线人数等。

用法:

Application.Lock();

Application["id"]= txtId.Text;

Server.Transfer("Test2.aspx");

Application.UnLock();

在接收页面调用:string id=Application["id"].ToString();

4、Cookie

Cookie主要用于客户端保存用户的信息,比如登录信息,它通过HTTP头传递信息,只能

包含字符串的值,通过Request对象的Cookie集合可以获得浏览器所有的Cookie。

优点:使用简单,可以减轻服务器的负担,通过Cookie来保存用户的登录状态,实现记住

用户登录的功能。

缺点:被认为用来收集用户隐私而遭到批评,也可能被别人篡改、伪造登录信息。

用法:

Test1.aspx 按钮单击代码:

HttpCookie name =new HttpCookie("name1");

HttpCookieage = new HttpCookie("age1");

name.Value = txtName.Text;

age.Value = txtAge.Text;

Response.Cookies.Add(name);

Response.Cookies.Add(age);

Server.Transfer("Test2.aspx");

Test2.aspx 按钮单击代码:

TextBox1.Text = "姓名是:" +Request.Cookies["name1"].Value.ToString() + "年龄是:" +Request.Cookies["age1"].Value.ToString();

5、Server.Transfer

Server.Transfer 是一个很奇特的方法。当使用 Server.Transfer 方法重定向页面时,

虽然页面也会被重定向至指定页,但是并不会在浏览器的URL上体现出来,并且若重定

向的页面后有参数,也不会显示在浏览器的URL上。

优点:直接在服务器端重定向,使用简单方便,减少了客户端对服务器端提出请求;

缺点:客户端浏览器中的URL地址是不改变,会导致在新的页面可能出现一些意想不到的问题。

比如如果源页面和目的页面不在同一个虚拟目录或其子目录下,那么使用相对路径的

图片、超链接都会导致错误的指向。可以传递各种数据类型的值和控件的值。

来源:我的公众号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、QueryString传值: ** 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象...
    ConRon阅读 1,049评论 0 0
  • Ba la la la ~ 读者朋友,你们好啊,又到了冷锋时间,话不多说,发车! 一、QueryStri...
    王饱饱阅读 983评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,087评论 19 139
  • 转载自:.net 页面传参方式总结 ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传...
    BigbyLong阅读 291评论 0 1
  • 看到微信群在转发高德地图的红包,我不禁要问,阿里跟腾讯撕逼,你进去做甚? 查了才知道,原来高德地图也是他们阿里家的...
    猫脸雷公嘴和尚阅读 366评论 1 1