如何在.Net Core中通过过滤器传递模型 View ? (我不想重定向)
我的操作过滤器:
private class CustomFilter : IActionFilter
{
private readonly MainDbContext _mainDbContext;
public CustomFilter(MainDbContext mainDbContext)
{
_mainDbContext = mainDbContext;
}
public void OnActionExecuting(ActionExecutingContext context)
{
var model = _mainDbContext.Groups.ToList();
context.Result = new ViewResult { ViewName = "Index" };
}
public void OnActionExecuted(ActionExecutedContext context)
{
}
}
最佳答案
以下应该有效:
public void OnActionExecuting(ActionExecutedContext context)
{
var model = _mainDbContext.Groups.ToList();
var result = context.Result as ViewResult;
if (result != null)
{
context.Result = new ViewResult { ViewName = "Index", ViewData = new ViewDataDictionary(result.ViewData)
{
Model = model
}};
}
}
此外,请考虑使用 Result filter而不是 Action 过滤器。
Result filters are only executed for successful results - when the action or action filters produce an action result. Result filters are not executed when exception filters handle an exception.
关于c# - 从 Action 过滤器中查看模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46565912/