我正在为一个项目,它有网络花园场景,并不能保留会话/内存中的任何数据。 asp.net页面从Appian(bpm工具)打开,我们通过查询字符串传递id。 现在,客户端要求我在阅读后隐藏查询字符串参数。但是,在这种情况下,登录页面为http://a.aspx?id='123',读取该值后,我们必须重定向到b.aspx而不公开id(查询字符串)。 请建议我一个合适的方法来实现这一点。我真的不知道这个。重定向到一个页面隐藏查询字符串参数asp.net
回答
您可以将键/值对添加到标题中,它将不会在查询字符串中可见。
HttpContext.Current.Response.Headers.Add(key, value);
和
string headerVal = HttpContext.Current.Request.Headers[key];
您可以在服务器端或HTTP POST而不是GET使用会话变量。
Session["id"] = id;
然后在b的负载检索它。
要使用Post可以使用隐藏字段和表单。
//You can set it like this
<form name='IdForm' action='b.aspx' method='post'>>
<asp:HiddenField id="WhateverId" runat="server" value='<%= Request.QueryString["whateverID"] %>' />
</form>
在重定向使用JavaScript发布
function Redirect() {
document.forms["IdForm"].submit();
}
您必须使用此哪里重定向发生JS脚本。
终于在背后
HttpContext.Current.Request.Form["WhateverId"]
代码将被部署在负载平衡的服务器中,所以不能使用会话。 – rahulsen002
共享会话可以实现。 –
你也可以通过用户会话来负载平衡服务器,而不是请求。您的性能下降几乎不存在,您将可以使用Session。这里唯一的缺点是,如果一台服务器出现故障,您的用户必须重新登录 –
- 1. 一个查询字符串参数301重定向到家
- 2. 隐藏查询字符串参数
- 3. 如何在asp.net内容页面中隐藏查询字符串?
- 4. 重定向到一个页面并传递查询参数
- 5. 隐藏查询字符串MVC3 -ASP.NET
- 6. 隐藏查询字符串参数在asp.net
- 7. .htaccess使用查询字符串值将查询字符串重定向到另一个页面
- 8. Laravel 5.2重定向到页面查询字符串
- 9. 将查询字符串重定向到另一个查询字符串
- 10. 将查询字符串重定向到非查询字符串?
- 11. 重定向到另一个页面,使用JavaScript,无查询字符串
- 12. 重写隐藏查询字符串
- 13. 在查询字符串中将隐藏字段从一个页面传递到另一个页面
- 14. 查询字符串隐藏
- 15. .htaccess根据查询字符串参数重定向到子域
- 16. 隐藏参数(查询字符串)的URL(htaccess的),但这个参数发送到页面(PHP)
- 17. htaccess重定向url查询字符串到其他字符串参数
- 18. ASP.NET MVC:从查询字符串参数重定向到规范网址
- 19. Asp.net重定向到另一个页面
- 20. 根据查询字符串重定向页面
- 21. 接收查询字符串和重定向页面
- 22. IIS URL重定向到具有不同查询字符串的同一页面
- 23. 试图重定向到同一页面,但查询字符串值
- 24. .htaccess 301重定向到没有查询字符串的同一页面
- 25. .htaccess将特定查询字符串重定向到主页
- 26. 重定向URL与查询字符串到另一个URL
- 27. web.config文件重定向查询字符串到另一个域
- 28. 如何在页面填充后隐藏查询字符串
- 29. 重定向查询字符串的URL非查询字符串
- 30. 如何在ASP.NET中隐藏页面名称和查询字符串?
b.aspx代码可以请你给我一个例子(如果可能的话甚至是粗略的)? – rahulsen002
代码将在负载平衡的情况下部署在多个服务器中。所以,假设第一个请求被发送到服务器A,在那里你设置了键值对,第二个请求将被发送到服务器B,在那里它不会得到值在httpcontext中设置。在这种情况下会出现这种情况吗? – rahulsen002
服务器A可以设置变量,服务器B可以读取它们。标题存储在文档中,以便它们能够传播。测试它... –