21

我有一个变量

string rawURL = HttpContext.Current.Request.RawUrl;

如何读取此 url 的查询字符串参数?

4

6 回答 6

34

这可能就是你所追求的

  Uri theRealURL = new Uri(HttpContext.Current.Request.Url.Scheme + "://" +   HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.RawUrl);

   string yourValue= HttpUtility.ParseQueryString(theRealURL.Query).Get("yourParm"); 
于 2012-07-26T20:04:55.973 回答
13

无需通过RawUrl-Request对象已经包含一个解析的版本,使用该Request.QueryString属性。

这是一个索引NameValueCollection

于 2012-07-26T19:53:17.153 回答
1

试试这个:

string rawURL = HttpContext.Current.Request.ServerVariables["query_string"];

于 2014-01-28T20:19:04.120 回答
0

Request 对象上有 Params 属性,可让您轻松完成。您不必自己解析它。

于 2012-07-26T19:53:26.083 回答
0

在 .NET Core 中有多种访问方式,HttpContext例如IHttpContextAccessor.

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-context?view=aspnetcore-5.0

当你有上下文时,你可以简单地使用这个方法:

httpContext.Request.QueryString.Value

用法:

网址:https://localhost:44335/test?key=123

var key = System.Web.HttpUtility.ParseQueryString(httpContext.Request.QueryString.Value).Get("key");

在此处输入图像描述

于 2021-08-13T12:40:41.497 回答
-5

这将解决你的问题......

string strReq = "";
strReq = HttpContext.Current.Request.RawUrl;
strReq = strReq.Substring(strReq.IndexOf('?') + 1);
于 2014-04-09T13:20:38.730 回答