If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Codebehinds... I'm a bit foggy on this.. What is required?

I'm not using the VS IDE to code the pages, instead, I'm hand coding with notepad and weaver. I'm still relitively new to ASPX, and I really only know the basics, but what are the file requirements to inherit a class in a 'codebehind' file? I'm having a lot of trouble and am starting to think it's a server issue; so I'm hoping I'm wrong, lol.

Here's how to do codebehind with Notepad and the command-line compiler.

Summary

Codebehind means that you have a separate file (the codebehind file) with the functions that you are using on your ASPX page. The codebehind file can be a source file, which .NET will compile on the fly, or it can be a DLL file in the bin directory off the root of your web site.

Codebehind in a Source File

Initially, while you are writing the code, you need it to be a source file.

In the codebehind file, you must put all the functions in a class or a namespace with several classes. You do not need a Main function, but you can have a Page_Load function.

I just use a class and I like to give the file and the class the same name. For this example, the class is imaginatively named "codebehind."

In the .ASPX file, put this as the first line:

<%@ Page inherits="codebehind" Src="codebehind.vb" Language="vb" %>

or

<%@ Page inherits="codebehind" Src="codebehind.cs" Language="c#" %>

Check MSDN for other parameters you can put in this line.

"Inherits" names the class or namespace that the ASPX file is supposed to use.

"src" refers the framework to the source file.

"language" tells the framework which compiler to use.

Of course, the codebehind file itself must contain the necessary "using" (C#) or "imports" (VB) statements, even though they are not necessary when the code is in the ASPX file.

Codebehind in a Library File

After you have perfected the code in the codebehind file, you can compile it into a library file. You need to change the current directory to c:\windows\Microsoft.NET\Framework\v1.1.4322 (or whatever it is on your machine), or just add it to your path.

If it is in your path, you can execute either of these commands:

cs sourcefile.cs /target:library

or

vbc sourcefile.vb /target:library

Either way you'll get a file called sourcefile.dll.

Then create a directory bin off the root of your web site.

On your local machine, if your web site is in c:\inetpub\wwwroot\website, and that directory is a virtual directory in IIS, create a directory \inetpub\wwwroot\website\bin

Put your new DLL file in that directory.

Then modify the ASPX file to remove src from the @Page line, and you are all set.

Thanks for the reply . I've got it working now though. MSDN doesn't have much on the subject. It mentions that there is a 'src' attribute, but it does not go into detail. Everything they have, just about, only gives details if using the VS.net IDE.