2016-07-18 36 views
0
public class MAttribute : IActionFilter 
{ 

public void OnActionExecuted(ActionExecutedContext actionContext) 
    { 
     string searchData = ""; 
     actionContext.Controller.ViewBag.SearchItem = searchData; 
     //object not included in the definition 
    } 

} 

當我覆蓋IActionFilter,它提示'對象不包含在定義',所以如何設置ViewBag在IActionFilter MVC6如何在IActionFilter MVC6中設置ViewBag?

+0

小澄清:你不「越權」的接口;你「執行」它。 (相對於從基類繼承,沒有現有的實現覆蓋。) – CrazyPyro

回答

0

嘗試從ActionFilterAttribute 繼承和我想你想的方法簽名OnActionExecuting(ActionExecutingContext)

欲瞭解更多信息,請參見:http://www.strathweb.com/2015/06/action-filters-service-filters-type-filters-asp-net-5-mvc-6/

編輯:您可能也想在你的頂部添加using Microsoft.AspNetCore.Mvc.Filters;還沒有。

+0

謝謝,我嘗試重寫OnResultExecuting。它的工作。 –

+0

'公共覆蓋無效OnResultExecuting(ResultExecutingContext上下文) { 變種控制器= context.Controller作爲控制器; controller.ViewBag.Text =「test」; base.OnResultExecuting(context); }' –