关于在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文档& ...
随机推荐
- 番茄钟App(Pomodoro Tracker)
最近为了学习Swift编程语言,写了一个番茄钟的App(Pomodoro Tracker).刚上线的1.2版本增加了Apple Watch的支持. iPhone版 Apple Watch版 如果你跟我 ...
- 六、Linux/UNIX操作命令积累【kill、netstat、df、du】
在使用Linux/UNIX下,常常会使用文本界面去设置系统或操作系统,作者本人在工作的过程也在不断接触这方面的命令,所以为此特酝酿.准备.開始了本文的编写. 本文主要记录自己平时遇到的一些Linux/ ...
- 【M11】禁止异常流出析构方法之外
1.在两种情况下,调用析构方法:a.在正常状态下被销毁,栈上的对象离开作用域或者堆上的对象执行delete:b.抛出异常,堆栈回滚,栈上已经构造好的对象,也就是抛出异常之前的代码,自动调用析构方法.注 ...
- (转)用AGG实现高质量图形输出(四)
AGG的字符输出 字符输出,对于AGG来说,这个功能可以处于显示流程的 不同位置.比如字体引擎可直接处于“Scanline Rasterizer”层向渲染器提供已处理完毕的扫描线,也可以处于“Vert ...
- ueditor 编辑器再thinkphp中使用 解决转义问题
在前台common.php文件中加入下面的函数就可以解决了 <?php //取消thinkphp里面的转义 if (get_magic_quotes_gpc()) { function stri ...
- 剑指 offer set 6 打印从 1 到 N 的所有数
总结 1. 求全排列的变形题, 有些隐晦, 没看出来
- Flex4+Spring3+Hibernate3+BlazeDS整合笔记
普通Java Web工程流行使用ssh框架,而当前台使用Flex制作的时候,后台就不需要用Struts了,通过使用BlazeDS远程方法调用即可. 首先,新建Java Web工程,然后添加Flex项目 ...
- HTML目录
1. 表格标记 2. HTML常用标记 3. 博客园添加访问人数统计 4. 如何快速掌握CSS(各种CSS工具) 5. HTTP协议状态码详解(HTTP Status Code)(转)
- Android自定义窗口动画
第一步,设置出现和消失的xml 1.在res/anim下创建enter_anim.xml,设置窗口出现的动画 <?xml version="1.0" encoding=&qu ...
- LeetCode11 Container With Most Water
题意: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, a ...