ASP.NET Core 知识速递 - Day 1:每天进步一点

文摘   2024-08-19 08:02   上海  
查询字符串

查询字符串是统一资源定位符 (URL) 的一部分,用于将值分配给指定的参数。查询字符串通常包括由Web浏览器或其他客户端应用程序添加到基本URL的字段,例如作为HTML文档的一部分、选择页面的外观或跳转到多媒体内容中的位置。

Web服务器可以通过基于URL路径从其文件系统读取文件或使用特定于资源类型的逻辑处理请求来处理超文本传输协议 (HTTP) 请求。在调用特殊逻辑的情况下,查询字符串以及URL的路径组件将可供该逻辑在其处理中使用。
结构
包含查询字符串的典型URL如下:
https://example.com/over/there?name=ferret

当服务器收到对此类页面的请求时,它可以运行一个程序,将查询字符串(在本例中为name=ferret)传递给该程序,不做任何更改。问号用作分隔符,不是查询字符串的一部分。

Web框架可能提供用于解析查询字符串中的多个参数的方法,这些参数由某些分隔符分隔。在下面的示例URL中,多个查询参数用&分隔:
https://example.com/path/to/page?name=ferret&color=purple
ASP.NET Core 查询字符串处理

在ASP.NET Core中我们使用 HttpContext.Request.Query获取查询字符串参数,该属性返回一个IQueryCollection接口,该接口定义如下:

Demo

运行应用程序:

在上面例子中我们使用IQueryCollection接口中定义的索引器来获取参数,返回一个StringValues的类型,该类型本质是显现了IList<string>接口的一个集合。

虽然没有明确的标准,但大多数Web框架允许多个值与单个字段关联(例如field1=value1&field1=value2&field2=value3)

源代码地址: https://github.com/bingbing-gui/AspNetCore-Skill/tree/master/src/aspnetcore-knowledge-point/query-string

桂迹
分享原创,记录痕迹!
 最新文章