asp.net中如何设置全局变量?

我想要的效果是:设置一个整型全局变量,通过某一事件让它累加,关闭页面后变量重置为0。我用了static这个关键字,累加是做到了,但关闭页面后无法重置为0.请问有什么好的解... 我想要的效果是:设置一个整型全局变量,通过某一事件让它累加,关闭页面后变量重置为0。我用了static这个关键字,累加是做到了,但关闭页面后无法重置为0.请问有什么好的解决办法呀。。。。。(我已经没有分了,哪位好心人帮帮我吧!!谢谢) 展开
 我来答
育知同创教育
2016-02-17 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
下面介绍两种ASP.Net项目中全局变量使用的方式。web.config文件 和 Gloab文件。以下分别说明:

方法一:web.config文件
——设置:
在web.config文件里添加关键字key是通过<appSettings>标记来实现的,但是appSettings标记通常放在<system.web>.....</system.web>标记外面。例:
<configration>
<appSettings>
<add key="connString1" value="server=localhost;user id=sa;pwd=;database=数据库名字"/>
<add key="connString2" value="provider=Microsoft.Jet.OleDb.4.0;Data Source=数据库路径"/>
</appSettings>
<system.web>
</system.web>
</configration>

——读取:
要在代码中引用这些数据库连接字符串,需要先添加对System.ConFiguration名字空间的引用,在这个名字空间中含有ConfigurationSettings类,其静态方法ConfigurationSettings.AppSettings属性可获取web.config文件中<appSettings>节的设置,读到的值为string型。例如:

using System.Configuration;
string conn1 = ConfigurationSettings.AppSettings["connString1"];
string conn2 = ConfigurationSettings.AppSettings["connString2"];
SQLConnection myConn1 = new SQLConnection(conn1);
OleDbConnection myConn2 = new OleDbConnection(conn2);

在VS2005中, ConfigurationSettings.AppSettings 可以换成 ConfigurationManager.AppSettings

方法二:Gloab文件
——设置:
在Global文件里中添加
protected void Session_Start(Object sender, EventArgs e)
{
Session["sqlConnectionString"] = "uid=Username;pwd=password;database=MyTest;server=Localhost;Connect Timeout=300";
}

——读取:
在代码中的应用:
String strConnection=Session["sqlConnectionString"].ToString();
sqlConnection_1=new SqlConnection(strConnection);

推荐使用第一种方式!比较灵活
joychen_
推荐于2017-12-16 · TA获得超过1747个赞
知道大有可为答主
回答量:1617
采纳率:100%
帮助的人:1833万
展开全部
static定义的可是真正的全局变量. 但从你的描述中觉得你需要的应该是用户层面的持续性数据.
可以放在Session或以用户ID为Key的Cache中, 在重新进入某个页面时置0, 在特定的操作时累加.
更多追问追答
追问
恩恩,我是在一个页面上进行的,大致的语句是这样的:
static int a=0;

protected void Page_Load(object sender, EventArgs e)
{
if (a==0)
{
//省略部分语句
a++;

}
}
想实现的功能就是每次打开页面,只执行1次if语句;可这样写的结果是下一次打开页面就不执行了,因为静态变量无法置0
追答
那这个变量有很多种处理方法:

可以放到Session里, 默认20分钟不操作会失效,
也可以放到Cache里, 只要应用程序池不重启,就不会失效.
也可以放到Cookie里,可以设置有效期.

假如放到Session中.

if (Session["userid"] == null)
{
do sth;
Session["userid"] = "1xx";
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伟大还伶俐的君子兰1
推荐于2018-05-20 · 超过49用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:110万
展开全部
ASP.NET里面就没全局变量这一说
你定义的变量是要在一个类里面用还是说是在所有的地方都能用呢??
如果是一个类的话,你直接在类的最开始定义一下就行了
如果是要在其他类里面使用上面的也说了
一个是在类里面定义为PUBLIC STATIC
一个是在WEB.CONFIG里面添加
<appSettings>
<add key="ConnectionStr1" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="></add>
</appSettings>
这样的,使用的时候就是ConnectionString = ConfigurationSettings.AppSettings["MySqlConnectionString"].ToString();就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式