views:

239

answers:

4

Question,

How do i set the title of a page from a class. Is it even possible? I can and have set the page title from a page itself and a usercontrol.

Can I, How Do I do this via a class using C# .Net

Here is what im looking to do, From the Aspx Page i want to call a function that passes in the string title, and have the class set the page title.

SomePage.Aspx.CS

page_onload()
{
setPageTitle(titleValue);
}

SetPageTitleClass.CS

public static void setPageTitle(string iTitle)
{
Page.title = iTitle; }

The problem is "Page.Title" is not available from the Class

Thanks again

Sia

A: 

You will need to pass in a reference to the Page you want to set the title of to the c# class you are going to use.

Could you post more detail about what you are trying to do?

Keith K
A: 

Yes. You must get a hold of the Page object. In the Page and UserControls this is relatively easy.

Page.Title = "My Title";
Chuck Conway
+2  A: 

First: why would you want to do that? --- give it back and let the page set it ... u can set it in a base class or master page.

If you still want to do it, is along the lines:

var page = (Page)HttpContext.Current.Handler;
page.Title = "someTitle";
eglasius
this was exactly what i was looking for, i just wanted to created a class that handles the title outside the page, just makes it easier to manage with all the dynamic pages.THANKS SO MUCH!
sia
A: 

I think the best way would be to have the class expose a TitleChanged event, which the page can subscribe to.

In this way, you are not tightly coupling your solution and everything is kept nice and clean.

Winston Smith
Isn't that putting the cart before the horse?
Robert Harvey