asp.net中如何设置全局变量?
我想要的效果是:设置一个整型全局变量,通过某一事件让它累加,关闭页面后变量重置为0。我用了static这个关键字,累加是做到了,但关闭页面后无法重置为0.请问有什么好的解...
我想要的效果是:设置一个整型全局变量,通过某一事件让它累加,关闭页面后变量重置为0。我用了static这个关键字,累加是做到了,但关闭页面后无法重置为0.请问有什么好的解决办法呀。。。。。(我已经没有分了,哪位好心人帮帮我吧!!谢谢)
展开
3个回答
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);
推荐使用第一种方式!比较灵活
方法一: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);
推荐使用第一种方式!比较灵活
展开全部
static定义的可是真正的全局变量. 但从你的描述中觉得你需要的应该是用户层面的持续性数据.
可以放在Session或以用户ID为Key的Cache中, 在重新进入某个页面时置0, 在特定的操作时累加.
可以放在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";
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();就可以了
你定义的变量是要在一个类里面用还是说是在所有的地方都能用呢??
如果是一个类的话,你直接在类的最开始定义一下就行了
如果是要在其他类里面使用上面的也说了
一个是在类里面定义为PUBLIC STATIC
一个是在WEB.CONFIG里面添加
<appSettings>
<add key="ConnectionStr1" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="></add>
</appSettings>
这样的,使用的时候就是ConnectionString = ConfigurationSettings.AppSettings["MySqlConnectionString"].ToString();就可以了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询