.net core 中的 HttpRequest.Query[] 是如何工作的?




下面的语句是如何工作的?

我试图在Microsoft文档中查看,但找不到太多信息

链接到Microsoft文档

var queryString = this.Request.Query[SomeConstant.QueryString];

假设您命中任何端点

/someendpoint?foo=bar&name=Vamsi

您现在可以通过以下方式获取整个查询集合:

var queries = this.Request.Query;

如果要按键检索特定值,可以使用它:

var foo = this.Request.Query["foo"]   //value: bar
var name = this.Request.Query["name"] //value: Vamsi

所以回答你的问题:Query[SomeConstant.QueryString]是通过访问存储在名为SomeContant.QueryString的变量中的特定键来访问当前请求的 QueryCollection。

这里的查询对象是一个IQueryCollection

IQueryCollection实现了以下两个:

IEnumerable<KeyValuePair<String,StringValues>>
IEnumerable

假设我们有以下网址: http://localhost/home/index?code=A000

键值对你可以把它看作是一个字典,我们有一个表示查询字符串参数名称的键(例如:代码),我们有一个值(例如:A000)

为了从 url 中检索代码,您必须在该列表中搜索并找到此名称。为此,您致电Query["code"]

在您的情况下,SomeConstant.QueryString是在您的项目中某处定义的常量,在名称为SomeConstant的类中定义了一个常量,而一个具有名称为QueryString的常量,并且此常量的值"code"

public Class SomeConsant{
public const string SomeConstant = "code";
}

最新更新