在ASP.NET中使用URLreferer管理查询字符串
VB.NET在ASP.NET中使用URLreferer管理查询字符串,asp.net,vb.net,url,query-string,response.redirect,Asp.net,Vb.net,Url,Query String,Response.redirect,VB.NET Response.Redirect(Request.UrlReferrer.AbsolutePath & "?query=1") 这是一个如何导航到URLreferer并包含新查询字符串的工作示例 问题 当UrlReferer包含现有查询字符串时,呈现的标记将变为: url.aspx?existing=1?query=1 url解析不正确,因为第二个?应该是& 问题 If (Request.UrlReferrer.OriginalString.Contains(
Response.Redirect(Request.UrlReferrer.AbsolutePath & "?query=1")
这是一个如何导航到URLreferer并包含新查询字符串的工作示例
问题
当UrlReferer包含现有查询字符串时,呈现的标记将变为:
url.aspx?existing=1?query=1
url解析不正确,因为第二个?应该是&
问题
If (Request.UrlReferrer.OriginalString.Contains("?")) Then
Response.Redirect(Request.UrlReferrer.OriginalString & "&query=1")
Else
Response.Redirect(Request.UrlReferrer.OriginalString & "?query=1")
End If
如何确定URLreferer是否已经有querystring并实现正确的代码来适应
解决方案
If (Request.UrlReferrer.OriginalString.Contains("?")) Then
Response.Redirect(Request.UrlReferrer.OriginalString & "&query=1")
Else
Response.Redirect(Request.UrlReferrer.OriginalString & "?query=1")
End If
绝对URL不包括查询字符串使用OrigionalString作为引用。一点逻辑:
If Request.UrlReferrer.OriginalString.Contains("?") Then
...
Else
...
End If
您可以检查一下是否有问题?在de Request.urlReferer.AbsolutePath中:
If (Request.UrlReferrer.AbsolutePath.Contains("?")) Then
Response.Redirect(Request.UrlReferrer.AbsolutePath & "&query=1")
Else
Response.Redirect(Request.UrlReferrer.AbsolutePath & "?query=1")
End If
我确实考虑过这种明显的方法,但是我担心URL可能包含A?不是从查询字符串派生的。你的想法是什么?即使在镶嵌的绳子里?无论哪种方式aspx?将100%工作,谢谢。你不会对URI进行编码/加密,你会对querystring参数进行编码/加密。修复了该问题,但必须使用OriginalString而不是绝对Url来保持querystring的完整性。谢谢你的帮助。那就投我一票吧?:)