我在母版页中有一个LinkButton
的应用程序,用于更改应用程序的database
。我正在根据此按钮文本更改connection string
文件中的web.config
。 LinkButton
点击的代码是:
if (LinkButton.Text == "Switch To Country1 Site")
{
LinkButton.Text = "Switch To Country2 Site";
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection sec = (ConnectionStringsSection)config.GetSection("connectionStrings");
sec.ConnectionStrings["Default"].ConnectionString = "Data Source=Source; Initial Catalog=database1; Integrated Security=true";
config.Save();
}
else
{
LinkButton.Text = "Switch To Country1 Site";
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection sec = (ConnectionStringsSection)config.GetSection("connectionStrings");
sec.ConnectionStrings["Default"].ConnectionString = "Data Source=Source; Initial Catalog=database2; Integrated Security=true";
config.Save();
}
我将此连接字符串设置为来自DataHelper
文件中Application_Start
的{{1}}。我也尝试从这里重新加载应用程序(不知道是否好主意)刷新内容但它不起作用。像:
Global.asax
我的连接字符串正在成功更改,但问题是应用程序数据没有刷新。例如,在我的应用程序中,我有一些protected void Application_Start(object sender, EventArgs e)
{
DatabaseHelper.ConnectionString = WebConfigurationManager.ConnectionStrings["Default"].ConnectionString;
//To reload application...
System.Web.HttpRuntime.UnloadAppDomain();
}
显示来自数据库的数据,但其数据未根据所选的gridviews
更新(database
)。
编辑:现在,我认为它不会像我一样对多个用户起作用 改变
connection string
。我有什么方法可以改变 对于按钮上的特定用户web.config
connectionString
{。}} 点击..
对此有任何帮助将不胜感激。 (对不起愚蠢的代码......)如果你能提出一个更好的方法来实现这个目标,那就太好了。谢谢.. !!