以编程方式设置SharePoint页面的标题?

时间:2010-08-06 11:11:05

标签: sharepoint api sharepoint-2007 moss

我需要在代码中设置SharePoint页面的页面标题(页面标题)。我已经测试了

this.Page.Title = "My Page Title";

但是当页面加载时,这不会改变标题。任何人都可以就如何做到这一点提出任何建议吗?

谢谢,MagicAndi

2 个答案:

答案 0 :(得分:7)

Michael Becker的这个blog post提供了一种使用以下代码修改SharePoint页面标题的方法:

ContentPlaceHolder contentPlaceHolder = (ContentPlaceHolder) Page.Master.FindControl("PlaceHolderPageTitle");
contentPlaceHolder.Controls.Clear();
LiteralControl literalControl = new LiteralControl();
literalControl.Text = "My Page Title";
contentPlaceHolder.Controls.Add(literalControl); 

答案 1 :(得分:6)

例如,如果您想从页面上的webpart更改页面标题,可以使用:

private void ChangeTitle(string newTitle)
{
    SPListItem item = SPContext.Current.ListItem;

    if (item != null)
    {
        item[SPBuiltInFieldId.Title] = newTitle;
        item.SystemUpdate(false);
    }
}

这仅适用于页面库中的页面,因为站点根目录中的default.aspx页面没有关联的列表项。另外,请不要忘记在更改标题后刷新页面。

SystemUpdate确保不会更新'修改/修改'信息,并且版本号不会增加。如果您希望更新此信息,请将其替换为item.Update();