我正在使用 .net core clean 架構和 jQuery 資料表。服務器端搜索已啟用,但我無法將該搜索引數search[value]從資料映射到 c# 中的模型屬性。我已經嘗試過 Newtonsoft JsonPropertyName屬性來映射它,但它失敗了。以下是我的模型代碼:
public class GetVotesByMeetingIdQuery : IRequest<PaginatedList<VoteCastDTO>>
{
public int PageNumber { get; set; } = 1;
public int PageSize { get; set; } = 10;
public Search Search { get; set; }
}
public class Search
{
[JsonProperty(PropertyName = "value")]
public string Value { set; get; }
[JsonProperty(PropertyName = "regex")]
public bool Regex { set; get; }
}
我能夠從控制器中的請求中捕獲引數。
[HttpGet("GetVotesByMeetingId")]
public async Task<ActionResult<PaginatedList<VoteCastDTO>>> GetVotesByMeetingId([FromQuery] GetVotesByMeetingIdQuery query)
{
var exist = Request.Query.TryGetValue("search[value]", out Microsoft.Extensions.Primitives.StringValues val);
query.Search = exist ? val.ToString() : string.Empty;
return await Mediator.Send(query);
}
但我不想這樣做,因為我想保持控制器清潔。有沒有辦法解決這個問題?
uj5u.com熱心網友回復:
您可以在屬性上使用[FromQuery]屬性。它將相應地將引數映射到屬性。此外,在獲取字串中的引數值時,您需要將屬性型別更改為字串。下面是示例:
public class GetVotesByMeetingIdQuery : IRequest<PaginatedList<VoteCastDTO>>
{
public int PageNumber { get; set; } = 1;
public int PageSize { get; set; } = 10;
[FromQuery(Name = "search[value]")]
public string Search { get; set; }
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/514891.html
上一篇:如何在.NetXamarin.Android專案的activity_main.xml檔案中鏈接按鈕的onClick事件?
下一篇:如果所選日期不可用,則顯示警告
