如何找出在MVC3中调用我的视图的控制器操作的名称?

Mar*_*cel 8 asp.net-mvc asp.net-mvc-3

我想在我的视图中编写一些逻辑,这取决于用于调用视图的控制器操作的名称.有没有办法可以找到这个名字.

希望有人可以帮助我.请注意,它是我正在使用的MVC3.

Rob*_*ner 13

获取控制器的名称

@ViewContext.Controller.ValueProvider.GetValue("controller").RawValue
Run Code Online (Sandbox Code Playgroud)

获取操作的名称

@ViewContext.Controller.ValueProvider.GetValue("action").RawValue
Run Code Online (Sandbox Code Playgroud)

我在这里找到.


Ror*_*san 5

@ViewContext.RouteData.Values["Controller"]
@ViewContext.RouteData.Values["Action"]
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但我认为它有点不优雅.我个人将这些选项作为标志添加到ViewModel并将其传递给我的View.