查看与动作过滤器的模型

时间:2017-10-04 13:17:09

标签: c# asp.net-core asp.net-core-mvc .net-core

如何通过.Net Core中的过滤器传递模型视图? (我不想重定向)

我的动作过滤器:

 $existsOnRemote = Invoke-Command -Session $s {param($fullpath) Test-Path $fullPath } -argumentList $item.Fullname; 
 if(-not $existsOnRemote){
    Copy-Item -Path $item.FullName -ToSession $s -Destination $item.Fullname;
 }  

1 个答案:

答案 0 :(得分:3)

以下内容应该有效:

    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 Filter。

  

结果过滤器仅在成功结果时执行 - 当操作或操作过滤器生成操作结果时。当异常过滤器处理异常时,不会执行结果过滤器。