У меня есть search
модель для моего приложения MVC
.VaryByParam для MVC Модель
public class SearchFilters
{
public SearchFilters()
{
MinPrice = "10000";
MaxPrice = "8000000";
}
public IEnumerable<SelectListItem> Categories { get; set; }
public string[] CategoriesId { get; set; }
public IEnumerable<SelectListItem> Locations { get; set; }
public string[] LocationID { get; set; }
public IEnumerable<SelectListItem> Status { get; set; }
public string[] StatusID { get; set; }
public string MinPrice { get; set; }
public string MaxPrice { get; set; }
}
Теперь, когда пользователь ищет для любой записи, он будет передавать выбранную Params через model
данных и мой запрос прибудет, как показано ниже:
[HttpGet]
public ActionResult Search([Bind(Prefix = "searchModel")]SearchFilters smodel)
{
CategoryViewModel model = new CategoryViewModel();
model = _prepareModel.PrepareCategoryModel("Search", smodel);
if (model.projects.Count == 0)
{
return Json(new { message = "Sorry! No result matching your search", count = model.projects.Count }, JsonRequestBehavior.AllowGet);
}
return PartialView("_CategoryView", model);
}
Если переданный параметр был string
или int
, Я мог бы установить VaryByParam = "param"
, или если он будет установлен с ';'
разделенными значениями. Но как я буду кэшировать комплекс model
param здесь?
Спасибо @Alex .. :) –