此response.redirect之后生成的URL字符串让我们头疼。它正在用url percent编码字符替换字符并添加额外的文件目录。
Response.Redirect("TestingReport.aspx?id=" + Request.QueryString("id") + "&Test_Type_ID=" + Request.QueryString("Test_Type_ID") + "&TType=" + Request.QueryString("TType"))
为什么会改变?和=百分比代码?我不明白为什么它会两次附加用户门户/测试。
由于
答案 0 :(得分:2)
它被称为URLEncoding。结帐this online utility以解码您拥有的字符串。
在.NET中,您可以使用System.Web.HttpUtility
进行编码/解码。
答案 1 :(得分:0)
确保您的网址中没有空白区域。
答案 2 :(得分:0)
整个URL会被URL格式化,这可能是因为您不是对您在字符串中放置的值进行URL编码。 URL正确编码值,它应该工作:
Response.Redirect(
"TestingReport.aspx?id=" + Server.UrlEncode(Request.QueryString("id")) +
"&Test_Type_ID=" + Server.UrlEncode(Request.QueryString("Test_Type_ID")) +
"&TType=" + Server.UrlEncode(Request.QueryString("TType"))
)
答案 3 :(得分:0)
可能希望与Redirect方法行分开构建查询字符串,对这些值进行URL编码,然后对传递给Response.Redirect的URL进行HTML编码
MSDN网站上显示的示例。我怀疑你的连接操作在某种程度上导致框架对整个事物进行URL编码,而不仅仅是值。
<%
dim qs
qs = Server.URLEncode(Request.Querystring)
Response.Redirect "newpage.asp?" + Server.HTMLEncode(qs)
%>
答案 4 :(得分:0)
结帐this post。基本上.Net正在尝试为您清理URL并弄乱。解决方案是手动编码。