0

是否有可能拥有一个包含渲染部分的母版页,并在渲染之前提供一个要传递给该部分的值。

例如,我们的网站有一个通用的菜单结构,我想把它作为一个部分放在母版页中,问题在于,根据您在页面中的哪个区域,我们需要为选定的选项卡设置一个值所以它会突出显示,你可以看到你在哪里。

目前,渲染部分在任何页面上并为所选选项卡传递一个值,我希望它位于母版页中,并且只是有一些方法可以将值传递给母版页。

我觉得这可能与 razor 引入的更改有关,但我不确定,无论如何我们使用的是 asp.net mvc 2(尽管我仍然对适用于更新版本的东西感兴趣)

4

1 回答 1

2

您可以使用 RouteData 属性来获取当前调用的页面,方法如下:

ViewContext.ParentActionViewContext.RouteData.Values["controller"]
ViewContext.ParentActionViewContext.RouteData.Values["action"]

// OR

ViewContext.RouteData.Values["controller"]
ViewContext.RouteData.Values["action"]

在与菜单关联的控制器或视图本身中(如果它是部分的)。然后您可以根据当前路由过滤输出。

于 2012-04-16T05:19:37.397 回答