我很难弄清楚为什么我的网址的请求部分没有在我的应用程序的Default.aspx.cs的Page_Load方法中正确显示。
如果我的网址是这样的:
http://localhost:3161/SignOn?ReturnUrl=%2fReturnMeHere
当我调试时,我希望在Request对象中有查询字符串参数:
public void Page_Load(object sender, System.EventArgs e)
{
string originalPath = Request.Path;
}
然而,没有出现。我猜这些都被剥离了,但我不确定还有什么会在管道中做这件事。
*编辑,来自本地网址调试“http://localhost:3161/SignOn?ReturnUrl=/ThisIsDisappearing”的屏幕截图
答案 0 :(得分:1)
页面的路径始终是www.url.co.uk。
原始路径将是完整路径,没有任何格式化或剥离。
查询字符串是路径的扩展,而不是路径的一部分,因此它们不会被包含在内。
如上所述,引用原始URL而不是页面路径将带回完整的字符串。
答案 1 :(得分:0)
查看存储查询字符串参数的Request.QueryString。
我记得,Request.Path只会给你“http:// localhost:3161 / SignOn”。
答案 2 :(得分:0)
Request.Path剥离参数Request.RawUrl显示整个URL,Request.Query只是查询字符串。
答案 3 :(得分:0)
Request.Params["ReturnUrl"]
应返回ReturnUrl
参数