【发布时间】:2010-10-17 15:39:54
【问题描述】:
我正在尝试在母版页上创建一个 RenderAction 方法,该方法将根据当前控制器和操作动态生成侧栏。当在视图中调用 RenderAction 时,它会填充该特定 RenderAction 方法的控制器和操作。例如,如果我在“Home”的控制器和“Index”的操作上,我期待 GenerateSideBar 方法中的“Home”和“Index”。相反,我得到了“Home”的控制器和“RenderSideBar”的动作。感谢您的帮助!
我的母版页视图:
<div class="side-bucket">
<%
string Controller = ViewContext.RouteData.Values["Controller"].ToString();
string Action = ViewContext.RouteData.Values["Action"].ToString();
%>
<% Html.RenderAction("RenderSideBar", "Home", new { controller = Controller, action = Action }); %>
控制器动作:
public ActionResult GenerateSideBar(string controller, string action)
{
switch (controller.Trim().ToLower())
{
case "member" :
return View(@"sidebar\MemberSidebar");
default:
break;
}
return null;
}
【问题讨论】: