2
我想在Master頁面上創建一個RenderAction方法,它會根據當前控制器和動作動態生成一個側欄。在視圖中調用RenderAction時,將使用該特定RenderAction方法的控制器和操作來填充RenderAction。例如,如果我在「Home」的控制器和「Index」的操作中,我期待GenerateSideBar方法中的「Home」和「Index」。相反,我得到了「家」的控制器和「RenderSideBar」的動作。謝謝你的幫助!Asp.net mvc RenderAction RouteData控制器和動作值
我的母版頁查看:
<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;
}
工作!感謝您的幫助Darin! – Zaffiro 2010-10-18 00:42:21