代码之家  ›  专栏  ›  技术社区  ›  changelog

在控制器外部设置ViewData

  •  3
  • changelog  · 技术社区  · 17 年前

    我正在尝试创建一个记录器,将LINQ执行的查询写入使用伟大的javascript库SyntaxHighlighter格式化的页面。

    为此,我将DataContext的Log属性设置为我的自定义记录器,该记录器运行良好。

    现在我只需要获取当前的Controller对象(在控制器执行上下文之外),这样我就可以设置一些需要输出的ViewData。

    1 回复  |  直到 17 年前
        1
  •  3
  •   Community Mohan Dere    9 年前

    如果你想在控制器之外执行操作,那么动作过滤器(等)是一个不错的选择;只是继承自 ActionFilterAttribute 以(权力)否决 OnActionExecuting (等)将数据注入视图,并用 [YourCustomFilter] .

    Like this


    (原文;我可能误解了)

    最好在这里使用依赖注入,通过将日志写入器作为构造函数参数传递到存储库中(理想情况下是通过类似StructureMap的东西,它通过StructureMapControllerFactory或类似方法与MVC配合得很好)。