我在win表单应用程序中有一个Web浏览器,打开URL时遇到问题。
我作为新URL
实例传入的URL编码为:
/ as%2f ,?作为%3f和 = as%3d
但是当我调试代码时,我可以看到URL
中的绝对webbrowser.url.*
或其他任何内容被解码为 / ,?< / strong>和 = 。
如何保持URL
编码?如果URL
没有像那样编码,则{{1}}将无效。
答案 0 :(得分:1)
我找到了解决问题的方法,当你的URL
看起来像这样:
domain.com/action/doaction/?identity=12354698789
你希望它编码如下:
domain.com/logon?returnurl=action%2fdoaction%2f%3fidentity%3d12354698789
这在您的网络浏览器中无效。它将其解码为第一个网址。
我需要id
控制器中的doaction
所以我使用了这段代码:
string orgId = ControllerContext.RouteData.Values["id"].ToString();
它返回该url,如果不确定,调试和追踪,你会找到正确的键和值。
答案 1 :(得分:0)
为什么会出问题?
如果您想要未解码的网址,请使用HttpRequest.RawUrl Property。默认情况下,查询字符串会自动解码,并且没有可以将其关闭的公共参数。