在重写的OnPreRender中更改标题

时间:2009-06-12 14:46:25

标签: asp.net

在我重写的OnPreRender功能中,我可以修改标签的文字:Label1.Text='in OnPreRender'
但是,我无法做this.Header.Title='changed in OnPreRender'
更改浏览器标题的唯一方法是:

this.Controls.Remove(this.Controls[0]);  
this.Controls.AddAt(0, new LiteralControl("<html><head><title>changed in OnPreRender</title></head></html>")

为什么我不能像标签那样更改标题?什么都没有呈现......

1 个答案:

答案 0 :(得分:0)

所以现在,甚至没有向标题标签添加runat =“server”,正如Partario建议的那样,我可以在Page_PreRender和OnPreRender中调用this.Header.Title。

它没有用,因为我将其他代码('this.Controls ...')取消注释,显然优先。

结果是,如果你真的删除了第一个LiteralControl,并按照我原来的方式添加了一个新的LiteralControl,那么就不能再调用this.Header.Title。