Запрос на основе Filtermodel in. net core - PullRequest
0 голосов
/ 24 апреля 2020

Я в процессе перемещения старых WebForms на. net core 3.1. В текущем решении у меня есть настраиваемая модель фильтра, которую я могу расширить в зависимости от того, какой объект я хочу запросить. Базовая модель выглядит следующим образом:

public abstract class FilterModelBase:ICloneable  
{  
    public int PageIdx { get; set; }
    public int PageSize { get; set; }
    public bool ForceUpdate { get; set; }
    public string CacheName { get; set; }
    public int CacheTime { get; set; }
    public Domain.Enums.CacheMode CacheMode { get; set; }
    public Domain.Enums.ResultMode ResultMode { get; set; } // Single or List
    public string SearchString { get; set; }
    public int ID { get; set; }
    public string ApiController { get; set; }


    public FilterModelBase()  
    {  
        this.PageIdx = 1;  
        this.PageSize = 100;  
    }  

    public abstract object Clone();  
}  

В моих веб-формах я заполняю Фильтр, я заполняю модель фильтра при отправке (не Asyn c), а затем публикую в Web API

    [HttpPost]
    [Route("/api/[controller]/Search")]

    public ActionResult<PagedCollectionResponse<Model>> GetSearch([FromBody] Model.Filter filter)
    {
        return = _user.Search(filter);            
    }

Как выполнить ту же задачу на странице Razor, если я хочу фильтровать по строке и списку. Другими словами, как мне заполнить фильтр-модель в коде в Razor

    <select asp-for="UserType" asp-items="Model.UserTyes">
        <option value="">All</option>
    </select>
    Title: <input type="text" asp-for="SearchString" />
...