class类定义public static string connectionString;//此处值每次新赋的值都取得到 都正确
    public static SqlConnection Connection
    {
        get
        {
            if (connection == null)
            {
                connection = new SqlConnection(connectionString);//此处connectionString值不变 依然是第一次的值                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.csclass.connectionString="asd";
//第二次赋值
class.connectionString="ABC";

解决方案 »

  1.   

    static会记录为上次的值
    保证不用时,将变量清空
      

  2.   

    if (connection == null)
                {
                    connection = new SqlConnection(connectionString);//此处connectionString值不变 依然是第一次的值                try
                    {
                        connection.Open();
                    }
                    catch { }
                }
    这段代码只执行了一遍, 你第二次获取connection的时候就不跑这儿了 所以connectionString还是老的
      

  3.   


    要 new 啊
    或用工厂模式