Converting to ASP.Net?

  • Thread starter Thread starter Rick Lemons
  • Start date Start date
R

Rick Lemons

Excuse my ignorance, but I don't understand the Inherits= parameter that
gets stuffed into the @Page directive. I have several old asp sites that I
maintain using Visual Interdev 6.0. I want to start using Visual Studio.Net.
When I open a new project in Visual Studio.Net pointing to the existing site
(let's say "www.xxxxx.com") and create new aspx pages, I get an Inherits=
parameter in the @Page directive that looks like
'Inherits="www.xxxxx.com.webform1"'. If I create a new folder off the root
folder using Visual Studio.Net (let's say "test") then create a new Web Form
in that folder, I get an 'Inherits="www.xxxxx.com.test"' stuffed into the
@Page directive. The page cannot be delivered until I remove this parameter
but Visual Studio.Net keeps putting it back.

What is this and how do I adapt it to allow me to slowly convert to .Net on
existing sites?

Thanks.
 
This is fundamental to the way that ASP.NET architecture works. In ASP.NET,
for each web page you have, you'll also have a "code-behind" page, which is
where you will actually write your VB code.

At run-time, when the user requests the .aspx page, it "locates" the correct
code-behind code using that inherits statement. The code in the code behind
is run and using the html in the .aspx page, a new class is created. This
class is written to temporary memory in IIS and it is this class that is
used for future page requests.

In short, the inherits directive is essential to the correct operation of
ASP.NET.
 
Thanks. I understand the code-behind pages. What I don't understand is why
it generates a name in the Inherits= parameter of a page that doesn't even
exist. The code-behind parameter is OK and the Inherits= parameter is
supposed to be for the root page (or so I thought). But the name it places
in the Inherits= parameter doesn't exist anywhere and the compilation fails
unless I remove it.
 
The name listed after inherits is the name of the assembly and class
(assembly.class) defined in the code-behind page. This is how the .aspx
page knows what class within the assembly to make an instance of. You say
that removing it allows the project to compile. That doesn't sound right,
it just sounds like it was somehow corrupted and you've removed the entire
compilation of the class.

Have you tried deleting that page and creating a new page from scratch
(without modifying the inherits statement this time)?
 
You're right. I was not compiling the pages before accessing them from the
web site so the dll was not being created with the new class. Not used to
compiling code first. Never had to do that in the old ASP world.

Thanks.
 
Yep. That's just one of the many new features of ASP.NET...Compiled Code!!
Yes!!! And that means, no more VBScript, now it's VB.NET.
 
Back
Top