1

我很难弄清楚为什么我的 URL 的请求部分没有在我的应用程序的 Default.aspx.cs 的 Page_Load 方法中正确显示。

如果我的网址是这样的:

http://localhost:3161/SignOn?ReturnUrl=%2fReturnMeHere

当我调试时,我希望我的请求对象中有查询字符串参数:

public void Page_Load(object sender, System.EventArgs e)
{
    string originalPath = Request.Path;
}

然而,没有人出现。我猜这些正在某处被剥离,但我不确定在管道中还会做些什么。

*编辑,来自本地 URL 调试“ http://localhost:3161/SignOn?ReturnUrl=/ThisIsDisappearing ” 的屏幕截图在此处输入图像描述

4

4 回答 4

1

页面的路径将始终是 www.url.co.uk。

原始路径将是没有任何格式或剥离的完整路径。

查询字符串是路径的扩展,而不是路径的一部分,因此不会包含在内。

如上所述,引用原始 URL 而不是页面路径将带回完整的字符串。

于 2012-05-29T14:34:17.387 回答
0

Request.Params["ReturnUrl"]应该返回ReturnUrl参数的值

于 2012-05-29T14:34:05.540 回答
0

Look at Request.QueryString that is where query string parameters are stored.

Request.Path would only give you "http://localhost:3161/SignOn" as far as I can remember.

于 2012-05-29T14:29:03.177 回答
0

Request.Path 去掉参数 Request.RawUrl 显示整个 URL,Request.Query 只是查询字符串。

于 2012-05-29T14:31:54.753 回答