我正在执行从一个页面到另一个页面的重定向,以及从第二页面到第三页面的另一个重定向。我有来自第一页的信息,该信息未在第二页上使用,但必须转移到第三页。是否可以将第三页的 URL 及其查询字符串作为查询字符串发送到第二页。这是一个例子:
Response.Redirect("MyURL1?redi=MyURL2?name=me&ID=123");
我的问题是,作为查询字符串发送的 URL 有两个查询字符串变量,那么系统如何知道 & 之后的内容是第二个 URL 的第二个变量,而不是第一个 URL 的第二个变量?谢谢。
您必须对作为重定向 URL 中的参数传递的 URL 进行编码。像这样:
MyURL = "MyURL1?redi=" + Server.UrlEncode("MyURL2?name=me&ID=123");
这将创建一个没有双“?”的正确网址和“&”字符:
MyURL1?redi=MyURL2%3fname%3dme%26ID%3d123
参见MSDN:HttpServerUtility.UrlEncode 方法 http://msdn.microsoft.com/en-us/library/zttxte6w.aspx
要从此编码的网址中提取重定向网址,您必须使用HttpServerUtility.UrlDecode
再次将其转换为正确的网址。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)