📅  最后修改于: 2023-12-03 14:39:23.065000             🧑  作者: Mango
如果您使用的是 ASP.NET 中的 WebForms 技术,那么在从 URL 中接收参数时,可以使用 ASPX 页面的 Request.QueryString
属性。
Request.QueryString
属性是一个键/值集合,其中键是参数的名称,值是其对应的值。以下是使用 Request.QueryString
属性从 URL 中获取参数的示例:
// 假设 URL 为 http://example.com/default.aspx?id=123&name=john
string id = Request.QueryString["id"]; // id = "123"
string name = Request.QueryString["name"]; // name = "john"
可以看到,我们可以通过在键名后面放置“[]”来访问查询字符串参数。请注意,这不是 C# 中的数组表示法,而是 ASP.NET 的语法。
如果一个参数在 URL 中出现了多次,那么通过 Request.QueryString
得到的值将是它们中的最后一个。因此,如果您需要访问所有参数值,您可能需要使用 Request.QueryString.GetValues()
方法。
// 假设 URL 为 http://example.com/default.aspx?id=123&name=john&id=456
string[] ids = Request.QueryString.GetValues("id"); // ids 包含 "123" 和 "456"
如果您使用的是 ASP.NET MVC 技术,那么可以在控制器的动作方法参数上使用 FromQuery
特性来注释接收的参数。
public IActionResult Index([FromQuery] string id, [FromQuery] string name)
{
// 在这里使用 id 和 name 参数值
// ...
}
如果您同时需要访问查询字符串中出现多次的参数值,可以将参数声明为 IEnumerable<string>
类型。
public IActionResult Index([FromQuery] IEnumerable<string> id, [FromQuery] string name)
{
// 在这里使用 id 和 name 参数值
// ...
}
请注意,在 MVC 中,您可以使用多种方式来注释控制器动作方法参数以从 URL 中接收参数。例如,您可以使用 FromUri
、FromBody
、FromHeader
、FromRoute
等特性来根据参数的来源进行注释。更多信息,请参阅 Microsoft 文档。