我希望在视图中编写一些逻辑,这些逻辑依赖于调用视图的控制器操作的名称。有没有一种方法可以找出这个名称。
希望有人能帮助我。请注意,我使用的是MVC3。
我希望在视图中编写一些逻辑,这些逻辑依赖于调用视图的控制器操作的名称。有没有一种方法可以找出这个名称。
希望有人能帮助我。请注意,我使用的是MVC3。
获取控制器的名称
@ViewContext.Controller.ValueProvider.GetValue("controller").RawValue
获取操作的名称
@ViewContext.Controller.ValueProvider.GetValue("action").RawValue
我在这里发现了。
@ViewContext.RouteData.Values["Controller"]
@ViewContext.RouteData.Values["Action"]
ViewContext.RouteData.Values["action"]
可以使用,但是让视图决定这样的事情是不好的选择。您可以使用显示和编辑模板来生成不同的视图,然后让操作选择其视图。视图应该非常简单,并依赖于通过 ViewData 或其模型接收到的数据。最好让控制器决定如何区分某些视图和操作。