目录前言代码演示借助 IParsable 绑定更复杂的类型参考资料总结前言 在 .net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字
在 .net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。
假设我们需要从 query 上接受多个 id 并返回查询的结果。例如: id=1&id=2
在 .Net 7 中,我们可以这样实现:
这样就可以直接将 id=1&id=2 这样的查询字符串绑定到 ids 数组上。
如果我们需要绑定的类型比较复杂,例如:
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:
到此这篇关于如何在.Net 7中将Query绑定到数组的文章就介绍到这了,更多相关.Net7将Query绑定到数组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: 如何在.Net 7中将Query绑定到数组详解
本文链接: https://lsjlt.com/news/175498.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2023-05-21
2023-05-21
2023-05-21
2023-05-21
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0