c# - 在 Controller 外设置 ViewData

标签 c# asp.net-mvc linq debugging

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

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

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

有什么建议吗?

最佳答案

如果你想在 Controller 之外执行操作,那么 Action 过滤器(等)是个不错的选择;只需继承 ActionFilterAttribute,覆盖 OnActionExecuting(等)以将数据注入(inject) View ,并使用 [YourCustomFilter] 标记您的 Controller 。

Like this


(原创,我可能理解错了)

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

关于c# - 在 Controller 外设置 ViewData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/677980/

相关文章:

c# - 使用 Access DB 作为数据源进行 ORM 的最佳方法

c# - LINQ查询优化

c# - 将应用程序图标和窗口图标设置为 Windows 7 友好图标

c# Excel 为什么要从单元格中删除与整行相关的重复项?

c# - 手动测试应用程序

asp.net-mvc - 对于强类型 View ,自定义类型的 MVC LINQ to SQL JOIN 失败

asp.net-mvc - MVC RequireHttps 整个网站

c# - Unity 解析多个类

javascript - 使用计时器更新 d3 生成的圆圈的位置

c# - 使用 Linq 从 3 个集合创建项目