I had a similar problem and none of these solutions helped me. The problem is related to the fire of order management events for the page. In my case, I had the code that should have been in the Page_load event (this was because this is the first event in which we have a Request object to work with). This code also needs to be run before the header can be set. Other pages on my site were able to simply set the desired title on the Ctor page, but since this page was needed to pre-poll the response object for information, this was a problem. The problem is that the main page has already created a page header section by the time we get to the Page_load event, and I did not want to have an unwanted file on my main page that was required for only one page on my site. My simple hack to solve this problem was to insert a javascript part into the page content bar:
<asp:Content ID=BodyContent ContentPlaceHolderID=MainContent RunAt=Server> <script type="text/javascript"> document.title='<%=Title%>'; </script> ... the rest of the content page goes here ... </asp:Content>
With this place, you can set the Title in the Page_Load event, and it will be set as soon as this line of code is loaded. Of course, my site already has a JS requirement, so if you try to avoid this, this will not work for you.
source share