1

我正在尝试在我的母版页上插入一个自定义标题(保存在数据库中)。自定义标题会因用户而异。

我对如何将控制器附加到部分有点困惑(如果我什至可以这样做)。我希望完成的是从使用某些事件调用的特定控制器呈现代码块。

    public ActionResult GetHeader(Guid clientID)
    {
        string szHeader = GetTheme(ThemeType.Portal, JoloTheme.ThemeArea.Header, clientID);
        return Content(szHeader, "text/html");
    }

是我创建的控制器,但我不确定如何将它放到我当前正在编写的页面的子部分(不在同一个控制器中)。

抱歉,如果这完全是胡说八道,恐怕还在学习MVC。

4

1 回答 1

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 } )
于 2012-06-17T22:57:54.183 回答