如何在 sitefinity mvc 中以编程方式设置标题
How to set title programmatically in sitefinity mvc
能否请您帮忙将标题设置为页面名称而不是 Sitefinity 中小部件的数据?
我试过了
var urlName = SiteMapBase.GetActualCurrentNode().UrlName;
var pageHandler = this.ViewContext.HttpContext.Handler.GetPageHandler();
pageHandler.Title = urlName.ToUpperInvariant();
pageHandler.Page.Title = "MyTitle";
但是没用。 Sitefinity 13.1 的一个版本。
您将其设置在页面生命周期的哪个阶段?
很可能 Sitefinity 在您的代码之后重写了它。
最好的办法是将代码放在 PreRenderComplete 事件上。
所以,您知道如何找到 pageHandler - 尝试订阅它的 PreRenderComplete 事件并在其中设置页面的标题。
你只是简单的意思
ViewBag.Title = "My title";
在控制器动作中?
这适用于 12.2,但无法尝试 13.1
SiteMapBase.GetActualCurrentNode().Title
能否请您帮忙将标题设置为页面名称而不是 Sitefinity 中小部件的数据? 我试过了
var urlName = SiteMapBase.GetActualCurrentNode().UrlName;
var pageHandler = this.ViewContext.HttpContext.Handler.GetPageHandler();
pageHandler.Title = urlName.ToUpperInvariant();
pageHandler.Page.Title = "MyTitle";
但是没用。 Sitefinity 13.1 的一个版本。
您将其设置在页面生命周期的哪个阶段?
很可能 Sitefinity 在您的代码之后重写了它。
最好的办法是将代码放在 PreRenderComplete 事件上。
所以,您知道如何找到 pageHandler - 尝试订阅它的 PreRenderComplete 事件并在其中设置页面的标题。
你只是简单的意思
ViewBag.Title = "My title";
在控制器动作中?
这适用于 12.2,但无法尝试 13.1
SiteMapBase.GetActualCurrentNode().Title