• home
  • forum
  • my
  • kt
  • download
  • ASP.NET: An Introduction

    Author: 2007-07-03 11:20:57 From:

    ASP.NET is not just the next version of ASP: it's the next era of web development. ASP.NET allows us to use a fully featured programming language (such as C# or VB.NET) to build web applications easily. In this article, John talks about the fundamentals of ASP.NET and some of its powerful features such as web services, the MSDN library and several learning resources.ASP.NET allows you to use a full featured programming language such as C# (pronounced C-Sharp) or VB.NET to build web applications easily.

    Theoretically, you can build MS Word as an application and without too much effort make it useable over the Internet through your browser. Because ASP.NET compiles the code you write (instead of interpreting it like traditional ASP) you can write more complex code. After this code is executed for the first time, it is compiled and stored in memory, meaning it will run many times faster than an interpreted language (such as classic ASP). ASP.NET also gives us full server-side object-orientated functionality, such as that found in a normal application.

    ASP.NET still renders HTML

    Unfortunately, the Internet still has bandwidth limitations and not every person is running the same web browser.

    These issues make it necessary to stick with HTML as our mark-up language of choice. This means that web pages won't look quite as amazing as a fully fledged application running under Windows, but with a bit of skill and creative flair, you can make some rather amazing web applications with ASP.NET.

    ASP.NET processes all code on the server (in a similar way to a normal application). When the ASP.NET code has been processed, the server returns the resultant HTML to the client. If the client supports JavaScript, then the server will use it to make the clients browser experience quicker and easier. Even with HTML being the limiting factor here, ASP.NET still manages to bring true OOP (Object Oriented Programming) to the Internet.

    OOP on the Internet

    Object Oriented Programming makes it possible to build extremely large applications, while still keeping your code clean and structured. Now with ASP.NET, we can do the same on the web. Traditional ASP uses HTML and VBScript (or Jscript) to process and render pages, but because VBScript is a scripting language, you were forced to write spaghetti code (VBScript was entwined in the HTML and ended up rather messy in larger applications).

    ASP.NET separates code from display, and you can even have pages with no ASP.NET code in them at all. By adding references in your HTML (called controls), you can tell ASP.NET that you want a button here, some text there, and then in your code, you can manipulate what these controls look like, what they display, how big they are, etc.

    Controls can do more than just display information. You can add events to controls, so that when a visitor clicks on a button, for example, ASP.NET executes a function of your choice.

    Complete Compatibility

    One of the most important goals of .NET was to allow developers to write an ASP.NET application using multiple programming languages. As long as each ASP.NET page contains only one programming language, you can mix and match different pages using different languages and they will work together seamlessly. This means you can now have a team of developers with half programming in C#, and the other half in VB.NET, with no need to worry about language incompatibilities, etc.

    A cool little side-affect of all this is that all the programming languages look very similar, and differ only by their language syntax.

    Take the following code snippets for example. They both do exactly the same thing but the first is written in C#, and the second in VB.NET.

    The C# version:


    void Page_Load(Object S, EventArgs E) { myLabel.Text = "Hello world!!";

    </script>


    The VB.NET version:


    Sub Page_Load(S As Object, E As EventArgs) myLabel.Text = "Hello world!!"

    End Sub

    </script>


    If you take either of the code examples shown above and add the following HTML to them, then they would both run perfectly inside of an ASP.NET page:


    <head>

    <title>"Hello World" example!</title>

    </head>

    <body>

    <asp:Label id="myLabel" runat="server" />

    </body>

    </html>

    Web Services

    One great feature of ASP.NET are Web Services. Web services mean that you can literally have several pieces of your application on different servers all around the world, and the entire application will work perfectly and seamlessly. Web services can even work with normal .NET Windows applications.

    For example: A lot of people would like to have a stock ticker on their web site, but not many people want to manually type in all changes to the prices. If one company (a stock broker) creates a web service and updates the stock prices periodically, then all of those people wanting the prices can use this web service to log in, run a function which grabs the current price for a chosen company, and return it. Web services can be used for so many things: news, currency exchange, login verification.. the ways in which they can be used are limited to your imagination!

    Custom Controls

    In ASP.NET, you can create your own custom controls, along with those already provided. A good example of a custom control is a date selector. There are so many different date formats that validation of dates can become a pain, even more so if your visitor has to type in their date 5 times before it is accepted.

    Instead of getting users to enter a date manually, we can let them use a date selector containing 3 drop down lists: day, month, and year. The day list has numbers 1-31, the month list has all of the month names, and the year list has a list of numbers from 1900 to 2050. The user now selects a day, month, and year, and your control returns that value in your specified format. You can even set a default value by passing a simple mm/dd/yyyy or dd/mm/yyyy date to the control before it is rendered.

    Class Library

    ASP.NET includes an enormous class library which was built by Microsoft. Because this class library is so large, it encapsulates a a huge number of common functions. For example, if you wanted to retrieve data from a database and display that data in a simple grid control through classic ASP, then you'd have to write quite a lot of code.

    In ASP.NET, you don't write any code to display the data: you just write the code to bind the data to an object called a DataGrid (which can be done in just a couple of lines). Then, you just have to create a reference on your page to where that DataGrid should go. The DataGrid will be rendered as a table, and will contain all of the data extracted from the database.

    Great XML Support

    ASP.NET makes it simple to use XML for data storage, configuration and manipulation. The tools which are built into ASP.NET for working with XML are very easy to use. XML is excellent for storing information that rarely changes, because you can just cache that information in the computers memory after it has been initially extracted.

    MSDN Library

    Microsoft has created an amazingly well designed MSDN library for ASP.NET and all of the other .NET languages. It includes a full class library containing information and examples on every class, function, method, and property accessible through ASP.NET.

    The MSDN library also includes some tutorials and examples to get you started. It may take you a while to get used to the format and layout of the MSDN ASP.NET library, however, once you do, you will find it's an invaluable resource to aid you throughout your ASP.NET learning experience. The .NET MSDN library can be found at http://msdn.microsoft.com/net/.

    .NET is still in Beta development

    Microsoft is still working on the entire .NET framework, however you can still download the Beta 2 version (which works just fine... I'm yet to come across any major bugs) from the ASP.NET homepage. The final release of .NET is scheduled for February 18th, 2002.

    .NET Language Choices

    A tough question for any new .NET developer is "which programming language should I choose?". I would suggest either C# or VB.NET, simply because they are the most common and you should be able to get more help on these than any of the other languages.

    There aren't many differences between these two languages, but here are a few pointers to help you make an informed decision:

    C#

    • Is case sensitive (can be a pain but you get used to it).
    • Is more advanced and can do more that VB.NET.
    • Will probably end up more common than VB.NET
    • Is good for developers who have worked with other C-based languages such as C/C++ or PHP
    • Is more structured than VB.NET
    • Requires slightly less code using } to close statements rather than End (among other small syntax differences).

    VB.NET

    • Is the default language for .NET.
    • Is simpler to learn and use than C#.
    • Is good for developers who have worked with other VB languages or for those who have no previous programming experience.
    • Supports optional parameters (for functions) and the 'With' statement.

    ...I suggest that you make sure you can read, and possibly write fluently in both C# and VB.NET. It's not hard to do and if you're willing, you will pick up both languages fairly quickly.

    Unfortunately, because ASP.NET is new, there is not as much material on the web for it as there is for traditional ASP. The best place to start learning ASP.NET (if you have previous programming experience) is http://www.gotdotnet.com. As you start getting into ASP.NET, you will rely greatly on the MSDN library which includes the complete class library definitions amongst other things.

    ASP.NET is a very exciting web programming language, and looks set to change the way we program the web. If you would like to jump right in and learn everything there is to know about ASP.NET, you should consider purchasing one/more of the books shown below.

    DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

    discuss this topic to forum

    relation tutorial

    No relevant information

    Category

      NET (110)

    New

    Hot