16

複数のページでレンダリングされるように、_Layout.cshtml の一部として部分的なビューがあります。部分ビューは、Web サイトのすべてのページに表示されるメニューと考えてください。

部分ビューのメニューにあるこれらのリンクのいずれかをクリックすると、名前などのように、部分ビューと呼ばれるアクション メソッドでのみアクセス/表示できます。

しかし、本当に必要なのは、アイテムがクリックされたときに部分ビューがあったビューです。

どうすればこれを入手できますか?

4

1 に答える 1

25

ParentActionContextを使用できます

例えば

 var controller = ControllerContext.ParentActionViewContext.RouteData.Values["Controller"] as string;
 var action = ControllerContext.ParentActionViewContext.RouteData.Values["Action"] as string;

アップデート

ビューから、この呼び出しはあなたが必要とすることをするはずです

@HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString()
@HttpContext.Current.Request.RequestContext.RouteData.Values["action"].ToString()
于 2012-08-10T11:53:02.297 に答える