那么如何在页面视图中如何动态的选择这个连接字符串呢?首先ConnectionString="<%$ ConnectionStrings:SomeValue %>"不支持数据绑定,那么我想到用ConnectionString="<%# ConnectionStrings:SomeValue %>"这个数据绑定,因此增加一个静态类变量,用来返回登录的数据库连接信息,代码如下:
在首页Login.aspx登录页面的代码:
在页面视图中设置:
最后运行程序,显示“ConnectionString 属性尚未初始化”,说明ConnectionString并没有接收到变量值,查找分析后发现<%# %>这种绑定是在该控件执行数据绑定后才会执行,用以下代码即可:
这样ConnectionString才接收到数据库连接字串值,程序才正常执行,当然也可能在.CS中直接指定
SqlDataOrder.ConnectionString = GetSqlConnection.GetSqlDb();
总之这样可以实现动态设置数据库的连接信息,目前是一个解决方法,不知有没有更好的。