在我重写的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>")
为什么我不能像标签那样更改标题?什么都没有呈现......
答案 0 :(得分:0)
所以现在,甚至没有向标题标签添加runat =“server”,正如Partario建议的那样,我可以在Page_PreRender和OnPreRender中调用this.Header.Title。
它没有用,因为我将其他代码('this.Controls ...')取消注释,显然优先。
结果是,如果你真的删除了第一个LiteralControl,并按照我原来的方式添加了一个新的LiteralControl,那么就不能再调用this.Header.Title。