1、通过一个用户控件去取联接字符串,真是不值得,放到Web.config中不是更好吗?a.aspx引用用户控件的语法是<%@ Register Srca.ascx" %>
2、点击一个button时回传了页面,但变量strConnect的值并没有回传,肯定为Null了。其实大可不必去判断了,这么短的字符串倒没什么,非要判断,你就得自己回传这个变量的值了,一个好一点的方法是Cache,这么写代码
private string _strConnect
{
    get {return Cache["ConnectString"].ToString();}
    set {Cache["ConnectString"] =  value;}
}
public string strConnect;其他代码不变。

解决方案 »

  1.   

    我也知道是回传问题,但是我把strConnect声明为static也不行啊。。
      

  2.   

    objConnect = new OleDbConnection(strConnect);
    这一句不要放在 !IsPostBack中。
    !IsPostBack 是用来初始化那些本身具有ViewState的控件对象的,比如DataGrid,TextBox等。objConnect是一个对象,不是control,也没有被显示地加入到viewState 中,所以必须在每次 postback时重新初始化。不然就会出你碰到的错误。
      

  3.   

    第一个问题:不应该这样保存connection string.应该用web.config文件或一个公共类来存这些东东。
      

  4.   

    我同意写基类的方法
    微软用的是common.data.configration.connectionstring一个基类做出来,一般常用的东东都可以放进去的