Casting to parent page from user control - how??

E

Eric

I got a particular problem in visual studio 2005
There's a user control on page and I want to meka a cast like this

MyPage mp=(MyPage)this.Page;

Error is : cannot cast from ASP.mypage_blalala_aspx to MyPage.
Stupid namespace ASP doesn't have that class name.
I can't even put any base classes to that crazy App_Code folder
to get the class reference. Am I doing something wrong?
All I want to do is during click to access a mainpage method from user control
that is on a gridview. Or how to simply tell a parent page that one of
user controls raised some event. There can be many user controls on the grid.
What's the point of blocking the page classes?
How to get rid of this terrible App_code folder and make things work?
I beg for help. Thanks.

Eric
 
K

Karl Seguin

I agree it's annoying, but there are good solutions available...

1 -
In the user control you can use the @reference directive to make the type
available, something like:

<%@ Reference Page="~/about.aspx" %>

which should make the cast work...

problem with this is that it ties your user control to that particular
page - which defeats part of the purpose of using a user control...

2 -
Using an interface or a base class in the app_code is the right way to do it
(unless you go with #3). This is the ASP.NET team's attempt to force
developers to code better (which in theory I agree with). I'm not sure why
you are having problems with this...but I myself find it a little annoying
and generally prefer #3.


3 -
Using the Web Application Project which you can (freely) download from:
http://msdn2.microsoft.com/en-us/asp.net/aa336618.aspx

Once installed, you can create new web applications projects which behave A
LOT more like everything worked in 2003. I use this almost exclusively for
anything that's midly complicated (as far as structure goes). You'll have
to restart your project though..copy and pasting should mostly work :)

Karl
 
E

Eric

Thanks Karl.
Do you know if there are any particular advantages using
Web Site Project model versus Web Application Project model?
The first one enforces many limits for coding which I'd say
doesn't make it a better coding. OOP concept is all about
managing variety of many objects which now are removed.
User controls sometimes if not mostly have purpose
of eliminating large number of identical objects that
perform different functions in the base class that is our page class.
Accessing methods is easy, event objects get destroyed on the roundtrips
so it's hard to say what is really better.
BTW any reference to page from user.c. causes circular reference error
an in fact there is a namespace to page but hidden and disabled in VS2005)
Thanks for help.

Eric
 
K

Karl Seguin

Yes, there are some advantages. The Web site project is much more flexible
when it comes to deployment...you can fully pre-compile your site (you can
do that with the other one too actually), you can compile none of your site
or you can just compile your source code. For some people, this is a key
benefit.

There's also no .proj file, which in some cases is great, and in some cases
isn't...

It's really give and take..but like I said, for my apps I tend to prefer the
WAP..

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,989
Messages
2,570,207
Members
46,783
Latest member
RickeyDort

Latest Threads

Top