ASP and ASP.NET Intro and Resources

ASP is short for Active Server Pages. It was the first server-side scripting language for Microsoft's IIS web server.

You can think of it like the Microsoft version of PHP. However, ASP was quickly replaced by ASP.NET, an open-source server-side framework.

Whereas PHP is a language, ASP.NET is a framework that can be used with any number of other languages — most notably C# and Visual Basic (VB.NET).

As with most server-side scripting, ASP.NET files are at base HTML files. They are different in that they will also include sections of ASP.NET code put between <% and %> symbols. This code is processed by the ASP.NET framework with the output sent back to the web client that requested it.

A Brief History ASP.NET

In 1996, Microsoft introduces ASP 1.0 as part of its IIS server.

The following year, they released ASP 2.0, which introduced some of the advanced objects that would become a standard part of ASP programming, like the Session object that handles user data from page to page.

The last version of ASP was released in 2000. It is now referred to as "ASP Classic."

That same year, Microsoft began developing its .NET framework.

It is fundamentally a collection of libraries that provide access to a broad range of functions. The other main part of it is that it supports an arbitrary number of languages.

So ASP.NET allows programmers to develop server-based web applications using a number of different languages.

ASP.NET is currently in its fifth version. They are distinct from each other as follows:

  • Version 1 (2002): the base system with WebForms, which allow programmers to develop webpages using an object oriented approach.

  • Version 2 (2005): added more controls, themes and skins, and 64-bit processing.

  • Version 3 (2006): added WPF, WP, and other systems.

  • Version 4 (2010): updated to .NET 4.

  • Version 5 (2016): updated to .NET 4.6.

What Can ASP.NET Be Used For?

ASP.NET is not a general-purpose programming environment. You wouldn't, for example, use it to create a standalone application. But its components can be used in this way. C# and Visual Basic can be used in a variety of ways. And that goes for the .NET framework itself.

Instead, ASP.NET is designed to create dynamic web pages. Users request an ASP.NET webpage, the server processes the page, substituting the appropriate data into the page based upon the code, and then sends a normal HTML page back to the user.

The most common kinds of ASP.NET coding involves interacting with a server-side database. Thus, there are ASP.NET applications for blogs, eCommerce, forums, and just about anything else that you can imagine.

Getting Started With ASP.NET

In order to program with ASP.NET, you will need to have access to an IIS server. You could run your own server on a local Windows machine. But it is just as likely that you will have a website hosted with a Windows system.

There are two aspects to learning ASP.NET: the language and the framework itself.

There are a number of languages that you can use, but the two most popular are C# and Visual Basic. Both are excellent choices for anything you might want to do.

But if you have experience with a C or Java, you will probably want to use C#. If you are new to programming, Visual Basic is easy to learn.

There are a lot of resources for learning the various aspects of ASP.NET. We'll go over them here.

Basic ASP.NET

Since ASP.NET is not a language itself, it is necessary to have something of a working knowledge of one of the languages it uses. For those, you can see the C# and Visual Basic sections.

But most of these resources should be easy to use if you have a basic understanding of programming.

Basic ASP.NET Books

Moving Ahead With ASP.NET

After you have a working knowledge of the ASP.NET framework you will want to increase your understanding of whatever language you are using. We are focusing on the most popular languages: C# and Visual Basic.

Getting Going With C#

Most of these resources focus on the use of C# as a standalone development platform. You may want to start with the resources under Getting Started With ASP.NET first, or study them in tandem.

Online Resources

  • Getting Started with Visual C#: the motherlode of C# resources from Microsoft itself. This can be a bit much for novices, but it is an excellent resources. Of particular interest is its set of tutorials.

  • C# Station Tutorial: a detailed tutorial for beginning to intermediate programmers. It includes a lot of clear examples.

  • Zet Code C# Tutorial: another detailed tutorial similar to the C# Station Tutorial.

  • C# Tutorial for Absolute Beginners: 25 video episodes that walk you through the process of learning the C# language. It is presented by .NET programmer Bob Tabor and is over 6 hours long in total. You can also find the individual episodes at Channel 9.

  • Learn C#: this is a very simple interacting tutorial. Created by learnCS.org, it provides exercise windows where you can change and run the example code.

  • Tutorials Point C# Tutorial: 28 short tutorials. This site allows you to run each of the examples in a popup window.

  • The Complete C# Tutorial: 49 short lessons that cover the most important aspects of the language.

  • Hanspeter Mössenböck C# Tutorials: two different ones — an introduction and one on advanced topics. They are distributed as pdfs and are appropriate for people who are already comfortable with programming in a general sense.

C# Books

Getting Going With Visual Basic

These resources focus of Visual Basic as a general purpose language. This even includes things like VBScript, which is the language used in Access and other parts of the Office suite.

Online Resources

You might want to get one or more books about ASP.NET to start, or after you try out a few tutorials. In general, they provide a lot more detail.

Visual Basic Books

Advanced ASP.NET Programming

You will get into more advanced topics the more you learn about ASP.NET as you specialize in different areas that are interesting to you or that you are hired to work on. But there are two ASP.NET extensions that are commonly used.

ASP.NET Razor

Normally, server-side code is placed inside of <%= and %> symbols. But with Razor, the server knows to start the code when it sees the @ symbol.

That's not a great advantage. The great trick with Razor is that it determines when the code is complete. So you can write code that looks more like straight HTML:


<p>At the tone, the date and time will be: @DateTime.Now</p>

ASP.NET MVC

ASP.NET MVC is an application framework that implements the model-view-controller (MVC) architectural pattern for ASP.NET. This is an advanced system for designing user interfaces.

As the name implies, the code is divided into three parts. This allows the code for the user interface to be separated from the control code and the data.

Online Communities

Once you have a basic working knowledge of ASP.NET, you will learn mostly by programming. And this will often involve interacting with other programmers — getting ideas from them and asking questions. There are a number of online communities that focus on ASP.NET.

Tools

Most people develop ASP.NET with Microsoft Visual Studio. It provides an excellent integrated development environment (IDE) for editing, testing, and debugging your programs. But there are other tools that can be helpful.

What's Next?

ASP.NET is a great development environment to get started with programming because it allows you to gradually work into it.

At the same time, it is almost limitless in terms of the kinds of things that you can do with it; it is unlikely that you will ever outgrow it.

It has the kind of power that is necessary for any application you might find yourself creating. All you have to do is start coding. The future awaits!

FAQ

Q. Am I limited to C# and Visual Basic for ASP.NET coding?

A. Not at all. ASP.NET supports the Common Language Infrastructure (CLI) specification, and so supports (in theory) any of the dozens of CLI languages.

But you may find it difficult to get COBOL running with ASP.NET. If you stick to C# and Visual Basic, you will always have lots of resources close at hand.

Q. Can I use more than one language in a single ASP.NET program?

A. Any given file must be written in one language. But different files can be written in different languages.

For example, if you need to write a new module for an existing ASP.NET application written in Visual Basic, you could develop the new module in C#. However, Microsoft frowns on this kind of development. And for good reason. Doing so could cause problems for future programmers who have to update the code.

Q. What is the difference between VBScript, Visual Basic, and VB.NET?

A. Visual Basic is short for "Visual Basic .NET," so it is the same thing as VB.NET.

VBScript was the programming language of the original ASP (not ASP.NET). It has a similar syntax to Visual Basic, but is designed for small jobs.

Now VBScript is used almost exclusively for scripting inside MS-Office applications like Access and Excel.

Q. Can ASP.NET be used on Linux or Mac servers?

A. There are a couple of ways to do this.

Back in 2004, the Mono project was started. It created a C# compiler and a Common Language Runtime. It is still under active development and works well.

In 2014, Microsoft announced ASP.NET vNext — a cross platform development environment. It will be released as part of ASP.NET 5 in 2016.