.net 页面传值深刻总结
- URL传值:
简单的说就是在域名后面加?key=value就完了。
工作原理是:URL传值是将值存于HTTP头中,后台用QueryString便可获取。其中中文会被编码,我们经常使用Ajax向后台传值,若是中文便会出现乱码,因为URL会对字符进行编码。我们若是在后台不想得到乱码便要使用相应编码。
- Application传值
Application为HttpApplication的一个属性,其值为整个应用程序域共有,一般不用,常用于记录网站总访问量。此处甚至可以与HttpApplication的几个事件以及Global.asax如何使用。
- net特有传值方式,设置按钮的postback指向
这个是个很好的发挥点,我也没有进行过研究,但是应该是设置了这个属性会将上次的页面中form表单中的服务器视图保留到本页面的隐藏input中吧。
- cookie传值
cookie值存于客户端,有数量、长度限制,存于HTTP头中,根据域名会自动发往服务器,是客户端以及服务器沟通的桥梁。
- session传值
session值存于服务器,在没有禁用cookie情况下使用cookie标志用户信息,每次在服务器根据cookie健值取出服务器托管堆中对应session对象值。在cookie禁用时候,健值便会以url传值。我们 可以用一个静态类以及cookie模拟实现简单的session原理(这里吹的空间就大了)其次,session默认存于IIS进程,而每当删除文件夹,修改webconfigsession便会丢失。 我们可以将session存于状态服务器,sql server 数据库,或者自定义程序中。