Создайте глобальный фильтр в ASP.NET Core 8 MVC.C#

Место общения программистов C#
Ответить
Anonymous
 Создайте глобальный фильтр в ASP.NET Core 8 MVC.

Сообщение Anonymous »

У меня на сайте есть категория сообщений. Я создал раскрывающийся фильтр, который фильтрует мои сообщения в соответствии с выбранной категорией.
Фильтр был создан как метод действия контроллера, но я хочу сделать его глобальным.
Вот код фильтра — FilterController.cs:

Код: Выделить всё

public async Task Index(string postCategory)
{
ViewBag.PostCategory = postCategory;

var filteredPost = from p in _context.Posts select p;

if (postCategory == "All")
{
filteredPost = _context.Posts;
}
else if (!string.IsNullOrEmpty(postCategory))
{
filteredPost = filteredPost.Where(p => p.PostCategory == postCategory);
}

var filteredCategory = new CardsViewModel
{
PostCard = await filteredPost.ToListAsync()
};

_cache.Set("filteredCategory", filteredCategory);

string url = Request.Headers["Referer"].ToString();

return Redirect(url);
}
В настоящее время все контроллеры используют _context.Posts для отображения данных. Код фильтрует _context.Posts внутри filteredPost в соответствии с выбранной пользователем категорией. Я хочу использовать filteredPost вместо _context.Posts в своих контроллерах. Как этого добиться?
Пример контроллера, в котором я хочу использовать filteredPost вместо _context.Posts:

Код: Выделить всё

[HttpGet]
public async Task Index()
{
return View(await _context.Posts.ToListAsync());
}
Все советы приветствуются. Спасибо.


Подробнее здесь: https://stackoverflow.com/questions/776 ... core-8-mvc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»