asp.net动态连接字符串

时间:2013-06-11 19:00:00

标签: asp.net connection-string sqldatasource

我有一个支持多家公司的应用程序。每家公司都有自己的数据库。所有公司数据库都具有相同的架构。唯一的区别是其中包含的实际数据。

有一个客户数据库,其中包含一个包含所有公司的父表,以及一个包含所有关联用户的子表。父公司表包含每个公司的记录。公司记录中的一个字段包含各自数据库的连接字符串。

当用户登录时,应用程序会创建一个公司对象,其中包含与其数据库的连接字符串,并将其放入会话变量中。当每个页面加载时,会触发一个循环遍历所有SQLDatasource控件的方法,并将连接字符串设置为会话变量中的连接字符串。

有一个用于所有公司的用户界面。

在我的web.config文件中,我有一个公共连接字符串到我的开发数据库(也使用相同的模式),我在开发期间使用它来配置我的SQLDatasources,意图是在运行时数据源将指向客户'数据库连接。

每次发生页面加载并且连接字符串设置为web.config文件中的内容之外的其他内容时,它会强制重新绑定网格并且视图状态将丢失。

我只是错误地动态设置连接字符串,还是什么?

谢谢, 玛蒂

1 个答案:

答案 0 :(得分:0)

尝试在Page_Init而不是Page_Load设置连接字符串。