2015-02-10 54 views
0

我想访问/拦截控制器操作并获取其参数和值。例如,我的行动是;如何在OnActionExecuted时访问当前Asp.Net MVC Action的参数

public virtual JsonResult ProductAutoCompleteResult(string term, string moduleName) 
    { 
     var requestDTO = this.portalServiceClient.CreateRequestDTO<ProductRequestDTO>(); 
     requestDTO.Filter.Keyword = term; 
     requestDTO.ModuleName = moduleName; 

     ProductResponseDTO responseDTO =this.portalServiceClient.Channel.GetProductsByProductCategoryTypeCode(requestDTO); 
     base.CheckResponse(responseDTO); 
     var products = Mapper.Map<ICollection<ProductModel>>(responseDTO.Products); 

     var result = products.Where(x => x.Name.Contains(term)) 
      .Select(x => new { id = x.ProductId, value = x.Name }); 
     return new JsonResult { Data = result, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
    } 

在这里,我想访问而OnActionExecuted事件和充满responseDTO后responseDTO的价值观。

回答

0

如果在动作过滤器中使用了属性filterContext.Controller.ViewData.Model并将其转换为相应的类型,如果在控制器上执行OnActionExecuted,则可以使用filterContext.Controller.ViewData.ModelViewData.Model属性。