Я в процессе перемещения старых 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" />