C# 将查询字符串隐藏到URL中

C# 将查询字符串隐藏到URL中,c#,jquery,asp.net-mvc,asp.net-mvc-3,query-string,C#,Jquery,Asp.net Mvc,Asp.net Mvc 3,Query String,我想隐藏显示在我的URL中的查询字符串,如下图所示: 我将其打开到新窗口,如下所示: 1) Oepn新窗口的Jquery代码: var url = rootUrl("Home/Test?Docs=" + check); var w = window.open(url, '_blank'); 及 2) 控制器(服务器端)代码: 但在本例中,文档ID显示在查询字符串中。 我只是想隐藏查询字符串以提高安全性。 我该怎么做 您可以将数据存储在会话变量中,也可以尝试将值存储在会话变量中 饼干 最好

我想隐藏显示在我的URL中的查询字符串,如下图所示:

我将其打开到新窗口,如下所示:

1) Oepn新窗口的Jquery代码:

 var url = rootUrl("Home/Test?Docs=" + check);
 var w = window.open(url, '_blank');
及 2) 控制器(服务器端)代码:

但在本例中,文档ID显示在查询字符串中。 我只是想隐藏查询字符串以提高安全性。 我该怎么做

  • 您可以将数据存储在会话变量中,也可以尝试将值存储在会话变量中 饼干

  • 最好使用TempData,它只允许 只能使用一次(第一次访问时移除)。然而,这意味着 价值几乎会立即被使用

  • 加密查询字符串


  • 您可以改为执行post请求。如果希望对其进行加密,则应通过https发送。如果不希望显示参数,则不发送参数。将其存储在主页的隐藏字段中,然后在打开的窗口(测试)上使用window.opener.document.getElementById(“父页面中隐藏的元素的ID”)获取JavaScript值


    看看我写的另一个答案。

    点击这个链接:你问错了问题。是否有人可以看到文档id对您的web应用程序的安全性并不重要。如果您依靠隐藏变量来保护应用程序,那么您就错了。查看更多信息information@BappiDatta但正如上面的URL所示,我发布的文档列表可能更多。那么在这种情况下,我需要隐藏那些ID。
        public class TestViewModel
        {
            public string Docs { get; set; }
            public long DocIDs { get; set; }
            public long TestIDs { get; set; }
        }
        public ActionResult Test(TestViewModel Test)
        {
            return View();
        }