我正在为一个具有网络花园场景且无法将任何数据保存在会话/内存中的项目工作。asp.net 页面从 Appian(bpm 工具)打开,我们通过查询字符串传递 id。现在,客户要求我在阅读后隐藏查询字符串参数。但是,在这种情况下,登陆页面是http://a.aspx?id= '123' 并且在读取该值之后,我们必须重定向到 b.aspx 而不暴露 id(查询字符串)。请建议我一个合适的方法来实现这一点。我对此一无所知。
问问题
10009 次
2 回答
4
您可以将键/值对添加到标题中,它在查询字符串中不可见。
HttpContext.Current.Response.Headers.Add( key, value);
和
string headerVal = HttpContext.Current.Request.Headers[key];
于 2014-03-04T19:12:14.270 回答
0
您可以在服务器端使用会话变量或使用 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 脚本。
最后在后面的 b.aspx 代码上
HttpContext.Current.Request.Form["WhateverId"]
于 2014-03-04T19:16:25.790 回答