public static修改值无效
class类定义
- C# code
public static string connectionString;//此处值每次新赋的值都取得到 都正确 public static SqlConnection Connection { get { if (connection == null) {[color=#FF0000] connection = new SqlConnection(connectionString);//此处connectionString值不变 依然是第一次的值[/color] try { connection.Open(); } catch { } } else if (connection.State == System.Data.ConnectionState.Closed) { connection.Open(); } else if (connection.State == System.Data.ConnectionState.Broken) { connection.Close(); connection.Open(); } return connection; } }test.aspx.cs
- C# code
class.connectionString="asd";//第二次赋值class.connectionString="ABC";
[解决办法]
static会记录为上次的值
保证不用时,将变量清空
[解决办法]
静态成员通常用于表示不会随对象状态而变化的数据或计算
[解决办法]
if (connection == null)
{
connection = new SqlConnection(connectionString);//此处connectionString值不变 依然是第一次的值 try
{
connection.Open();
}
catch { }
}
这段代码只执行了一遍, 你第二次获取connection的时候就不跑这儿了 所以connectionString还是老的
[解决办法]
建议看看static的定义
[解决办法]
静态成员只初始化一次,生命周期=网页生命周期
[解决办法]
定义成非静态
[解决办法]
[解决办法]