当前位置: 代码网 > it编程>编程语言>Asp.net > 如何在.Net 7中将Query绑定到数组详解

如何在.Net 7中将Query绑定到数组详解

2024年05月18日 Asp.net 我要评论
前言在 .net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。代码演示假设我们需要从 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: 

总结

到此这篇关于如何在.net 7中将query绑定到数组的文章就介绍到这了,更多相关.net7将query绑定到数组内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com