我正在重定向到我的 asp.net 应用程序中的一个页面,使用该页面在 url 中传递一个参数。
HttpApplication app = (HttpApplication) sender;
HttpResponse response = app.Context.Response;
app.Response.Redirect("~/auth/SignOn.aspx?capath=" + capath);
有没有办法发送执行或直接到该页面并传递参数而不在 url 中显示它?谢谢。
我正在重定向到我的 asp.net 应用程序中的一个页面,使用该页面在 url 中传递一个参数。
HttpApplication app = (HttpApplication) sender;
HttpResponse response = app.Context.Response;
app.Response.Redirect("~/auth/SignOn.aspx?capath=" + capath);
有没有办法发送执行或直接到该页面并传递参数而不在 url 中显示它?谢谢。
url 参数非常不安全。这是一个简单的字符串,每个人都可以看到。您应该对其进行加密或使用会话。如果它是您在 url 中传递的 id,则可以使用 uniqueidentifier 作为 id。
我认为最好和最简单的方法是通过 Sessions 发送它。
您不能隐藏在查询字符串中发送的值,但如果您希望它们不可读,则可以加密这些值。或者您将寻找其他选项来导航到下一页,而不是简单的重定向
如果您的网站分布在多台计算机上,您应该使用 cookie 以避免会话丢失
写饼干
HttpCookie testCookie = new HttpCookie("capath");
testCookie.Value = HttpUtility.UrlEncode(capath);
Response.Cookies.Add(testCookie);
读取 cookie
if (Request.Cookies["capath"] != null)
{
HttpCookie getCookie = Request.Cookies.Get("capath");
}