查询字符串是统一资源定位符 (URL) 的一部分,用于将值分配给指定的参数。查询字符串通常包括由Web浏览器或其他客户端应用程序添加到基本URL的字段,例如作为HTML文档的一部分、选择页面的外观或跳转到多媒体内容中的位置。
https://example.com/over/there?name=ferret
当服务器收到对此类页面的请求时,它可以运行一个程序,将查询字符串(在本例中为name=ferret)传递给该程序,不做任何更改。问号用作分隔符,不是查询字符串的一部分。
https://example.com/path/to/page?name=ferret&color=purple
在ASP.NET Core中我们使用 HttpContext.Request.Query获取查询字符串参数,该属性返回一个IQueryCollection接口,该接口定义如下:
Demo
运行应用程序:
在上面例子中我们使用IQueryCollection接口中定义的索引器来获取参数,返回一个StringValues的类型,该类型本质是显现了IList<string>接口的一个集合。
虽然没有明确的标准,但大多数Web框架允许多个值与单个字段关联(例如field1=value1&field1=value2&field2=value3)