您的位置:首頁技術文章
文章詳情頁

如何在.Net 7中將Query綁定到數組詳解

瀏覽:173日期:2022-06-09 08:55:45
目錄
  • 前言
  • 代碼演示
  • 借助 IParsable 綁定更復雜的類型
  • 參考資料
  • 總結

前言

在 .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[] 數組上了。

參考資料

總結

到此這篇關于如何在.Net 7中將Query綁定到數組的文章就介紹到這了,更多相關.Net7將Query綁定到數組內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: ASP.NET
国产综合久久一区二区三区