.NET应用程序从Default.aspx.cs中的Request中剥离查询字符串参数

时间:2012-05-29 14:26:14

标签: asp.net-mvc url-rewriting query-string

我很难弄清楚为什么我的网址的请求部分没有在我的应用程序的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”的屏幕截图 enter image description here

4 个答案:

答案 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参数

的值