我已经创建了更新web.config文件中的sql连接字符串的功能。但是,出于某种原因,我无法在不刷新页面的情况下实时更新。刷新页面后,它会显示更改的值。当我单击“保存”但它返回旧值时,它会保存在web.config文件中。
这是我的AdminModel:
public void SAVEsqlConnection(string sqlConnection)
{
if (sqlConnection != System.Web.Configuration.WebConfigurationManager.ConnectionStrings["sqlConnection1"].ToString())
{
Configuration sqlConnection1 = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)sqlConnection1.GetSection("connectionStrings");
section.ConnectionStrings["sqlConnection1"].ConnectionString = sqlConnection;
sqlConnection1.Save();
}
}
这是我的AdminController:
[HttpPost]
public ActionResult Admin(string txt_file_dest, string report_dest, string sql_Connection)
{
AdminModel Values = new AdminModel();
if (sql_Connection != null)
{
Values.SAVEsqlConnection(sql_Connection);
}
return View();
}
这是我的Admin.cshtml文件:
<input type="text" name="sql_Connection" value= "@System.Web.Configuration.WebConfigurationManager.ConnectionStrings["sqlConnection1"]">
:SQL Connection String<br>
<br>
<input type="submit" name="Save" value="Save Changes" />
任何帮助将不胜感激。我有一个截止日期。
提前致谢。
答案 0 :(得分:0)
您可以在完成查询后使用此位JavaScript(1.2)刷新页面:
<script>
window.location.reload(true);
</script>
尽管如此,AJAX将是一个更好的解决方案,因为它会使页面自动加载新内容。
答案 1 :(得分:0)
[HttpPost]
public ActionResult Admin(string txt_file_dest, string report_dest, string sql_Connection)
{
AdminModel Values = new AdminModel();
if (sql_Connection != null)
{
Values.SAVEsqlConnection(sql_Connection);
}
return RedirectToAction("actionname");//call same page action again
}