【发布时间】:2017-10-31 00:27:46
【问题描述】:
我知道如何获取当前控制器名称
HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();
但是有没有办法在某个类中获取当前控制器实例(不是在动作中,也不是在视图中)?
【问题讨论】:
-
在哪里?在模型中?在一个视图中?当然,如果您正在执行某个操作,您可以使用它来引用您的控制器,但我想情况并非如此 :)。
-
在某个类中(不在动作中也不在视图中)
-
因为在 MVC 模式中,你一定会在一个动作中,除非你在一些数据模型的方法流或一些助手中。只是为了避免空引用,我会在控制器的类方法中添加一个参数,然后跟踪流程开始的位置并传递它。
-
你想做什么?我看不出你有什么理由这样做,控制器在那里,所以你可以处理请求,就是这样。
标签: asp.net-mvc-3