我的控制器中有以下方法。
[HttpGet]
public ActionResult MyGetMethod(string address, string zip, int width) {...}
通过http://foo.com/home/MyGetMethod?address=234MainSt&zip=90210&width=123
有没有一种方法可以将地址,邮政编码和宽度参数组合成一个对象,并按照以下方式将对象传递给方法?
[HttpGet]
public ActionResult MyGetMethod(Foo myParam) {...}
public class Foo {
public string Address {get; set;}
public string Zip {get; set;}
public int Width {get; set;}
}
对于旧的ASP.NET MVC,存在一个模糊的相关问题,似乎表明这对于该技术是不可能的。
.NET Core 2.x是否可以?
答案 0 :(得分:1)
您在queryString中的数据,因此您需要provider [FromQuery]
[FromQuery]
[HttpGet]
public ActionResult MyGetMethod([FromQuery]Foo myParam) {...}
public class Foo {
public string Address {get; set;}
public string Zip {get; set;}
public int Width {get; set;}
}