保存sql连接字符串时刷新管理页面

时间:2013-04-01 18:15:58

标签: c# html sql asp.net-mvc

我已经创建了更新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" />

任何帮助将不胜感激。我有一个截止日期。

提前致谢。

2 个答案:

答案 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
    }