我正在尝试在我的母版页上插入自定义标头(保存在数据库中)。自定义标题会逐个用户更改。
我对如何将控制器连接到部分(我甚至可以这样做)感到有些困惑。我希望完成的是从一个特定的控制器中呈现一个代码块,并使用一些事件进行调用。
public ActionResult GetHeader(Guid clientID)
{
string szHeader = GetTheme(ThemeType.Portal, JoloTheme.ThemeArea.Header, clientID);
return Content(szHeader, "text/html");
}
我已经创建了控制器,但是我不知道如何将它放到我正在编写的页面的子部分(不在同一个Controller中)。
道歉,如果这完全是胡说八道,还在学习MVC,我很害怕。
答案 0 :(得分:2)
您应该在_Layout.cshtml中使用Html.Action()帮助器。我认为您应该使用Nullable Guid作为参数,因为您将无法始终提供有效的clientID。
public ActionResult GetHeader(Guid? clientID)
{
string szHeader = GetTheme(ThemeType.Portal, JoloTheme.ThemeArea.Header, clientID);
return Content(szHeader, "text/html");
}
以下是如何在_Layout.cshtml中调用Html.Action助手
@Html.Action("GetHeader",
"SomeController",
new { clientID = IsLoggedIn ? ClientID : (Guid?)null } )