如何从子动作中获取当前控制器和动作?
我的视图的一部分是通过调用子操作的 RenderAction 呈现的。如何从该子操作中获取父控制器和操作。
当我使用..时,
@ViewContext.RouteData.Values["action"]
我取回子操作的名称,但我需要的是父/调用操作。
谢谢
顺便说一句,我正在使用 MVC 3 和 Razor。
I have a portion of my view that is rendered via RenderAction calling a child action. How can I get the Parent controller and Action from inside this Child Action.
When I use..
@ViewContext.RouteData.Values["action"]
I get back the name of the Child Action but what I need is the Parent/Calling action.
Thanks
BTW I am using MVC 3 with Razor.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您想从子操作本身(而不是视图)访问它,您可以使用
And if you want to access this from within the child action itself (rather than the view) you can use
找到了...
我如何获取与部分视图中的父操作关联的路由数据
Found it...
how-do-i-get-the-routedata-associated-with-the-parent-action-in-a-partial-view
如果该部分位于另一个部分内,则除非我们找到最顶层的父视图内容,否则这将不起作用。你可以用这个找到它:
If the partial is inside another partial, this won't work unless we find the top most parent view content. You can find it with this:
我遇到了同样的问题,并提出了与卡洛斯·马丁内斯相同的解决方案,只是我把它变成了扩展:
我希望这能帮助其他有同样问题的人。
I had the same problem and came up with same solution as Carlos Martinez, except I turned it into an extension:
I hope this will help others who have the same problem.
使用模型绑定来获取操作名称、控制器名称或任何其他 url 值:
Use model binding to get the action name, controller name, or any other url values: