详细阐述.Net 7中将Query绑定到数组
发布时间:2023-12-18 10:41:35 所属栏目:教程 来源:DaWei
导读: 在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。
代码演示
假设我们需要从 query 上接受多个 id 并返回查询的
代码演示
假设我们需要从 query 上接受多个 id 并返回查询的
在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。 代码演示 假设我们需要从 query 上接受多个 id 并返回查询的结果。例如: id=1&id=2 在 .Net 7 中,我们可以这样实现: public ActionResult GetResults([FromQuery]int[] ids) { // 使用 ids 数组查询结果 } 这样就可以直接将 id=1&id=2 这样的查询字符串绑定到 ids 数组上。 借助 IParsable 绑定更复杂的类型 如果我们需要绑定的类型比较复杂,例如: public ActionResult GetResults([FromQuery]MyDate[] dates) { // 使用 dates 数组查询结果 } 我们可以通过实现 IParsable<T> 接口来实现自定义的绑定。 public class MyDate : IParsable<MyDate> { public int Month { get; set; } public int Day { get; set; } public void Parse(string input) { var parts = input.Split('-'); Month = int.Parse(parts[0]); Day = int.Parse(parts[1]); } public static MyDate Parse(string s, IFormatProvider? provider) { var date = new MyDate(); date.Parse(s); return date; } public static bool TryParse(string? s, IFormatProvider? provider, out MyDate result) { try { result = Parse(s, provider); return true; } catch { result = default; return false; } } } 这样就可以通过 dates=1-1&dates=2-2 这样的查询字符串来绑定到 MyDate[] 数组上了。 参考资料 Bind arrays and string values from headers and query strings: (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐