Create Pages on the fly using IHttpHandler. Need advice

S

shapper

Hello,

In this moment I am creating all my aspx pages on my vb.code at
runtime.

It seems nonsense to have .aspx and .aspx.vb files in my projects.

I am considering creating my pages on the fly using IHttpHandler.

I already did that for delivering XML files.

Could someone advice me on this?

What are the ups and downs of doing this?

Thanks,

Miguel
 
K

Karl Seguin

I don't fully understand what you're trying to do...It seems like whatever
you are doing doesn't have an HTML/ASPX front-end component to it....

aspx files are handled by a built-in handler, called the PageHandler...it's
a relatively heavy process...it must raise a number of events (init, load,
prerender, unload are the most well known) as well as do a lot of postback
and viewstate manipulation.

If your requests aren't doing any of those, such as a RSS feed, then a
custom httphandler is typically the correct way to go. It's faster and it's
the right tool for the job.

On the flip side, you'll lose a lot of the framework laid out by the
PageHandler (which is quite a bit)..it's typically pretty obvious if you
need ASP.NET pages or not...

Karl
 
S

shapper

Hi,

Got it. I didn't know about the PageHandler part.

I was just looking for a way to solve a problem which I am fighting for
2 days:

How to set the following Nested Master Pages at runtime:

Parent.master
| ---- Child.master
| ------ Page.aspx

Yes, I know that in Page.aspx.vb I can do Me.MasterPageFile =
"~/_Child.master" on the PreInit event. However, I can't do the same on
Child.master.vb because I don't have a PreInit event there.

Do you know any article or have any code example which might help me
with this?

Thank You a Lot,
Miguel
 
S

shapper

I was looking one of your articles in:

http://codebetter.com/blogs/karlseguin/archive/2006/05/24/145397.aspx

When you mean page model you are talking about events such as:

Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As
EventArgs) Handles Me.PreInit
....
End Sub

Right? Is this what I would miss?

In IHttpHandler I would need to do something like:

AddHandler Label.Load, AddressOf Label_Load

Is this what you mean?

But would I need to do this for all events for all controls or only for
the events where I need to place some code in?

Using IHttpHandler to deliver the web pages have some advantages like
getting rid of the .aspx pages and making the web site a little bit
faster, right?
Are there any documents about doing this?

Just experimenting.

Thanks,

Miguel
 
K

Karl Seguin

Yes, that's what I mean.

If you have labels (or any controls) and master pages, then you don't want
to use your own handler.

Karl
 
K

Karl Seguin

I was able to solve the problem by doing hooking into the constructor for
Child.master...dunno if you'll have any side effects this way though...

public sub Child()
MasterPageFile = "Parent.master"
end sub

Pages, controls and masterpages are all class deep down...and if something
fires BEFORE PreInit, the constructor must be it :)

Karl
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top