.net 核心中的 HttpRequest.Query[] 是如何工作的?
How does HttpRequest.Query[] in .net core works?
下面的语句是如何工作的?
我试图在 Microsoft 文档中查看,但找不到太多信息
Link to Microsoft documentation
var queryString = this.Request.Query[SomeConstant.QueryString];
让我们假设您使用
命中任何端点/someendpoint?foo=bar&name=Vamsi
您现在可以通过以下方式获取整个 QueryCollection:
var queries = this.Request.Query;
如果您想通过键检索特定值,可以使用:
var foo = this.Request.Query["foo"] //value: bar
var name = this.Request.Query["name"] //value: Vamsi
所以回答你的问题:Query[SomeConstant.QueryString]
正在通过访问特定键来访问当前请求的 QueryCollection,该键存储在名为 SomeContant.QueryString
这里的查询对象是一个IQueryCollection
.
IQueryCollection
实现了两者:
IEnumerable<KeyValuePair<String,StringValues>>
IEnumerable
假设我们有以下 Url : http://localhost/home/index?code=A000
您可以将键值对视为字典,我们有一个代表查询字符串参数名称(例如:代码)的键和一个值(例如:A000)
为了从 url 中检索代码,您必须在该列表中搜索并找到此名称。为此,您调用 Query["code"]
在你的例子中,SomeConstant.QueryString
是在你的项目中某处定义的常量,在 class 中,名称为 SomeConstant
,常量名称为 QueryString
,其值为常量是 "code"
.
public Class SomeConsant{
public const string SomeConstant = "code";
}