【发布时间】:2020-11-06 21:34:08
【问题描述】:
我有这个过滤器:
public class ViewBagFilter : IActionFilter
{
private readonly ApplicationDbContext db;
public ViewBagFilter(ApplicationDbContext _dbContext)
{
db = _dbContext;
}
public void OnActionExecuting(ActionExecutingContext context)
{
var controller = context.Controller as Controller;
var dataFromDb = {db-query};
controller.ViewBag.Example = dataFromDb;
}
public void OnActionExecuted(ActionExecutedContext context)
{
// do something after the action executes
}
}
...我在Startup.cs 中包含这样的内容:
services.AddMvc(options =>
{
options.Filters.Add(typeof(ViewBagFilter));
});
但是当我导航到任何 Identity razor 页面时,ViewBag.Example 不存在。
如何使它也可用于剃须刀页面?
这不起作用:
services.AddRazorPages(options =>
{
options.Filters.Add(typeof(ViewBagFilter));
});
【问题讨论】:
标签: c# asp.net-core-mvc razor-pages asp.net-core-identity action-filter