关于在asp.net的web页面中的全局变量问题
在asp.net的web页面中是不是没有全局变量?
有的,在Class类内部的都是,只不过在WebWofm程式中跟WinForm和Console程式有些区别,
当页面刷新时,它们的值不会保持,依然会再次初始化.
Q:在WebForm中,一般用ViewState辅助存储全局变量的值.
是不是只能用session,cookie等来实现全局变量?
Q:用ViewState
web页面中的static变量是不是全局变量?使用static变量发现总出问题,有时正常,有时异常一何缘故?
Q:是全局变量,但最好不要用,在分布式程序中,如果几个客户端都在访问同一个界面,则
这些界面中的static类型的对象都是共享的,也就是说一个客户端此时修改了本界面中的static
对象的值,其它用户界面中的static值也会跟着改变. 会导致不可预料的情况发生
session一定要在global.asx中初始化定义吗?
Q:Session存储在服务端,当客户端第一个界面启动时,它就产生了,可以在所有页面中用.
具体用法请看:
几种常用的变量:
Application是应用程序级变量,如果用到多个用户之间的通信的时候用
Session 是用户变量,一个用户访问多个页面时可以保存数据到另一个页面,只要此用户不注销就可以
ViewState 页面变量,相当于页面全局变量,但是一旦退出当前页面,它就会丢失
用法:
如果有两个人: 甲和已在同学访问一个网站
1.
Sessin["UserID"] = "甲";// 表示只要甲不注销,不文伦跳到哪个页面,string str = Session["UserID"]都保存初始化时的数据,常用于在: Page_Load事件中,验证身份
page_Load()
{
if(Session["UserID"] == null || Session["UserID"] == "")
{
Response.Redirect("登录页面,重新登录");
}
else
{
呈现出页面
}
}
2.
Application["x"];
只要赋了值,如: Application["x"]; 则甲和已可以共享到此值,可以用于计数器,记录站点访问量
只要一个用户登录,则Application["x"] += 1;//加一个数,表示有个新用户刚刚登录
3.
this.ViewState["y"] = "abcde";
则表示在本页面中,this.ViewState["y"] 值可以作为全局变量使用,只要不退出本页面,
包括刷新页面,它都不会丢失
4.cookie
string a="a";
HttpCookie Cookie = new HttpCookie(a);
Cookie.Values.Add(a,"abc");
// 设置过期时间.
DateTime datCookie = DateTime.Now;
int intCookieTimeOut = 30;
TimeSpan tsCookie = new TimeSpan(intCookieTimeOut,0,0,0);
Cookie.Expires = datCookie.Add(tsCookie);
try
{
Response.Cookies.Remove(a);
}
catch{}
Response.Cookies.Add(Cookie);
关于在asp.net的web页面中的全局变量问题的更多相关文章
- 在ASP.NET Core Web API中为RESTful服务增加对HAL的支持
HAL(Hypertext Application Language,超文本应用语言)是一种RESTful API的数据格式风格,为RESTful API的设计提供了接口规范,同时也降低了客户端与服务 ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- ASP.NET Core Web API中带有刷新令牌的JWT身份验证流程
ASP.NET Core Web API中带有刷新令牌的JWT身份验证流程 翻译自:地址 在今年年初,我整理了有关将JWT身份验证与ASP.NET Core Web API和Angular一起使用的详 ...
- Asp.Net Core Razor页面中使用echarts展示图形
Asp.Net Core Razor页面中使用echarts展示图形 要在Razor页面中使用echarts显示图形,主要问题点在于如何将数据传递给js文件. 1,下载安装echarts库文件 首先引 ...
- [置顶] 读取pdf并且在web页面中显示
读取pdf并且在web页面中显示 if (System.IO.File.Exists(f)) { Response.ContentType = "applicationpdf"; ...
- [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了
[译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 本文首发自:博客园 文章地址: https://www.cnblogs.com/yilezhu/p/ ...
- php中调用这个功能可以在web页面中显示hello world这个经典单词
php程序写的时间长了,自然对他所提供的功能了如指掌,他所提供的一大堆功能,真是觉得很好用,但有时候会发现php也缺少一些功能,自己总是会产生为php添加一些自定义的功能的想法.久而久之,终于今天憋不 ...
- web页面中可以包含多个对象
# encoding=utf-8 #python 2.7.10 #xiaodeng #web页面中可以包含多个对象 #HTTP权威指南 10页 #应用程序完成一项任务时通常会发布多个http事务.如: ...
- ASP.NET Core Web API中使用Swagger
本节导航 Swagger介绍 在ASP.NET CORE 中的使用swagger 在软件开发中,管理和测试API是一件重要而富有挑战性的工作.在我之前的文章<研发团队,请管好你的API文档& ...
随机推荐
- SVN备份批处理文件
SVN备份批处理文件,亲测可用 另外,备份文件时获取文件名%%~ni 可改为%%~nxi,以避免文件名中有“.”号时,读取不完成,将.后面的当作后缀名 需要使用hotcopy 时,可以将关键代码进行相 ...
- java搭建finagle(2)
上篇文章是1年前写的惭愧惭愧,今天一个同事问我要demo然后看了下文章 好吧主要的代码 没写出来,今天补充下 上篇地址:http://www.cnblogs.com/rufus-hua/p/41592 ...
- jQuery操作checkbox选择
1.checkbox list选择 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- oracle 11g 没有scott用户下emp的创建方法
oracle 11g 安装后 没有scott 用户, 创建scott 用户后 使用select * from emp查询 emp表, 结果为 找不到行. 运行脚本 utlsample.sql 首先as ...
- 关于android 图像格式问题
这算是篇总结吧.6月份开始做的一个android上的ar项目结束了.我做的部分是二维码识别和图像识别的预处理.这个项目虽然很累,但是让我学到了很多东西,特别是严格的编码规则,和java代码的效率优化, ...
- 大话设计模式C++实现-第22章-桥接模式
一.UML图 二.概念 桥接模式(Bridge):将抽象部分与它的实现部分分离,使他们都能够独立地变化. 三.说明 为什么叫"桥接模式"? 如上所看到的的UML图中,有一个聚合线, ...
- 识货的拿走:Android游戏框架解读之总体结构
Android游戏开发的框架图无偿奉上.
- VS2010中文/vs2008英文版/vs2005下载地址
ed2k://|file|cn_visual_studio_2010_ultimate_x86_dvd_532347.iso|2685982720|4AE6228933DDE49D9BFA4C3467 ...
- UIButton设置了UIControlStateSelected和UIControlStateHighlighted状态的图片点击会闪烁的解决方案
[btn setBackgroundImage:img1 forState:UIControlStateSelected|UIControlStateHighlighted]; [btn setIma ...
- 疑难杂症:org.hibernate.MappingException: Unknown entity,annotation配置Entity类报错
引言: 夜声人静,外面下着稀里哗啦的雨,周末的晚上,还在键盘上舞动手指. 此刻很感激一个人一篇随笔,感谢xiaochao以及他的<org.hibernate.MappingException: ...