在ASP.NET Web API 2中,可以通过在控制器的方法参数中使用[FromUri]特性来获取URL查询参数的值。但有时候可能会遇到URL查询参数没有值的情况,这可能是由于参数名称不匹配或参数类型不正确等问题导致的。以下是解决这个问题的几种方法的示例代码:
public IHttpActionResult Get([FromUri] int id)
{
// code here
}
public IHttpActionResult Get([FromUri] int? id = null)
{
// code here
}
public IHttpActionResult Get([FromUri] string name = "")
{
// code here
}
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
}
public IHttpActionResult Get([FromUri] MyModel model)
{
// code here
}
在使用以上方法时,请确保URL中的查询参数名称与方法参数的名称相匹配,并且参数类型正确。如果仍然无法获取查询参数的值,可以通过调试和查看请求的URL来进行进一步的排查。