You are previewing Beginning ASP.NET 3.5: In C# and VB.
O'Reilly logo
Beginning ASP.NET 3.5: In C# and VB

Book Description

This book is for anyone who wants to learn how to build rich and interactive web sites that run on the Microsoft platform. With the knowledge you gain from this book, you create a great foundation to build any type of web site, ranging from simple hobby-related web sites to sites you may be creating for commercial purposes.

Anyone new to web programming should be able to follow along because no prior background in web development is assumed. The book starts at the very beginning of web development by showing you how to obtain and install Visual Web Developer. The chapters that follow gradually introduce you to new technologies, building on top of the knowledge gained in the previous chapters.

Do you have a strong preference for Visual Basic over C# or the other way around? Or do you think both languages are equally cool? Or maybe you haven't made up your mind yet and want to learn both languages? Either way, you'll like this book because all code examples are presented in both languages!

Even if you're already familiar with previous versions of ASP.NET, with the 1.x versions in particular, you may gain a lot from this book. Although many concepts from ASP.NET 2.0 are brought forward into ASP.NET 3.5, you'll discover there's a host of new stuff to be found in this book, including an introduction to LINQ, the new CSS and JavaScript debugging tools, new ASP.NET controls, and integrated support for ASP.NET Ajax.

To build effective and attractive database-driven web sites, you need two things: a solid and fast framework to run your web pages on and a rich and extensive environment to create and program these web pages. With ASP.NET 3.5 and Visual Web Developer 2008 you get both. Together they form the platform to create dynamic and interactive web applications.

ASP.NET 3.5 builds on top of its popular predecessor ASP.NET 2.0. While maintaining backward compatibility with sites built using this older version, the Microsoft .NET Framework 3.5 in general and ASP.NET 3.5 in particular add a lot of new, compelling features to the mix.

Continuing the path of "less code" that was entered with the 2.0 version of the .NET Framework, ASP.NET 3.5 lets you accomplish more with even less code. New features like LINQ that are added to the .NET Framework allow you to access a database with little to no hand written code. The integration of Microsoft ASP.NET Ajax into the ASP.NET Framework and Visual Web Developer means you can now create fast responding and spiffy web interfaces simply by dragging a few controls onto your page and setting a few properties. This book gives you an in-depth look at both these technologies.

The support for cascading style sheets (CSS), the language to lay out and format web pages, has undergone a major overhaul in Visual Web Developer. The design time support, that shows you how a page will eventually look in the browser, has been vastly improved. Additionally, Visual Web Developer now ships with a lot of tools that make writing CSS a breeze.

However, drag-and-drop support and visual tools are not the only things you'll learn from this book. ASP.NET 3.5 and Visual Web Developer 2008 come with a great and extensive set of tools to help you program your web applications. These tools range from the new LINQ syntax that allows you to query data and databases in your web applications, to the vastly improved debugging capabilities that allow you to debug your application from client-side JavaScript all the way up into your server-side code, all with the same familiar user interface, commands, and actions.

Under the hood, ASP.NET 3.5 makes use of the same run-time as version 2.0. This ensures a great backward compatibility with that version, which means that ASP.NET 2.0 applications continue to run under the new framework. But don't be fooled by the fact that the run-time hasn't changed. Although the technical underpinnings needed to execute your web application haven't changed, the .NET 3.5 Framework and ASP.NET add a lot of new features, as you'll discover in this book.

Probably the best thing of Visual Web Developer 2008 is its price: it's available for free. Although the commercial versions of Visual Studio 2008 ship with Visual Web Developer, you can also download and install the free Express Edition. This makes Visual Web Developer 2008 and ASP.NET 3.5 probably the most attractive and compelling web development technologies available today.

This book teaches you how to create a feature-rich, data-driven, and interactive web site. Although this is quite a mouthful, you'll find that with Visual Web Developer 2008 this isn't as hard as it seems. You'll see the entire process of building a web site, from installing Visual Web Developer 2008 in Chapter 1 all the way up to putting your web application on a live server in Chapter 18. The book is divided into 18 chapters, each dealing with a specific subject.

Chapter 1, "Getting Started With ASP.NET 3.5." In this chapter you'll see how to obtain and install Visual Web Developer 2008. You'll get instructions for downloading and installing the free edition of Visual Web Developer 2008, called the Express Edition. You are also introduced to HTML, the language behind every web page. The chapter closes with an overview of the customization options that Visual Web Developer gives you.

Chapter 2, "Building an ASP.NET Web Site." This chapter shows you how to create a new web site and how to add new elements like pages to it. Besides learning how to create a well-structured site, you also see how to use the numerous tools in Visual Web Developer to create HTML and ASP.NET pages.

Chapter 3, "Designing Your Web Pages." Visual Web Developer comes with a host of tools that allow you to create well-designed and attractive web pages. In this chapter, you see how to make good use of these tools. Additionally, you learn about CSS, the language that is used to format web pages.

Chapter 4, "Working with ASP.NET Controls." ASP.NET Server controls are one of the most important concepts in ASP.NET. They allow you to create complex and feature-rich web sites with very little code. This chapter introduces you to the large number of server controls that are available, explains what they are used for, and shows you how to use them.

Chapter 5, "Programming Your ASP.NET Web Pages." Although the built-in CSS tools and the ASP.NET server controls can get you a long way in creating web pages, you are likely to use a programming language to enhance your pages. This chapter serves as an introduction to programming with a strong focus on programming web pages. Best of all: all the examples you see in this chapter (and the rest of the book) are in both Visual Basic and C#, so you can choose the language you like best.

Chapter 6, "Creating Consistent Looking Web Sites." Consistency is important to give your web site an attractive and professional appeal. ASP.NET helps you create consistent-looking pages through the use of master pages, which allow you to define the global look and feel of a page. Skins and themes help you to centralize the looks of controls and other visual elements in your site. You also see how to create a base page that helps to centralize programming code that you need on all pages in your site.

Chapter 7, "Navigation." To help your visitors find their way around your site, ASP.NET comes with a number of navigation controls. These controls are used to build the navigation structure of your site. They can be connected to your site's central site map that defines the pages in your web site. You also learn how to programmatically send users from one page to another.

Chapter 8, "User Controls." User Controls are reusable page fragments that can be used in multiple web pages. As such, they are great for repeating content like menus, banners, and so on. In this chapter, you learn how to create and use User Controls and enhance them with some programmatic intelligence.

Chapter 9, "Validating User Input." A large part of interactivity in your site is defined by the input of your users. This chapter shows you how to accept, validate, and process user input using ASP.NET server controls. Additionally, you see how to send e-mail from your ASP.NET web application and how to read from text files.

Chapter 10, "ASP.NET Ajax." Microsoft ASP.NET Ajax allows you to create good looking, flicker free web pages that close the gap between traditional desktop applications and web applications. In this chapter you learn how to use the built-in Ajax features to enhance the presence of your web pages, resulting in a smoother interaction with the web site.

Chapter 11, "Introduction to Databases." Understanding how to use databases is critical to building modern web sites, as most modern web sites require the use of a database. You'll learn the basics of SQL, the query language that allows you to access and alter data in a database. In addition, you are introduced to the database tools found in Visual Web Developer that help you create and manage your SQL Server databases.

Chapter 12, "Displaying and Updating Data." Building on the knowledge you gained in the previous chapter, this chapter shows you how to use the ASP.NET data-bound and data source controls to create a rich interface that enables your users to interact with the data in the database that these controls target.

Chapter 13, "LINQ." LINQ is Microsoft's new solution for accessing objects, databases, XML, and more. In this chapter you'll see how to use LINQ to SQL to access SQL Server databases. Instead of writing a lot of manual code, you create a bunch of LINQ objects that do the heavy work for you. This chapter shows you what LINQ is all about, how to use the visual LINQ designer built into Visual Web Developer, and how to write LINQ queries to get data in and out of your SQL Server database.

Chapter 14, "Presenting Data: Advanced Topics." While earlier chapters focused mostly on the technical foundations of working with data, this chapter looks at the same topic from a front-end perspective. You see how to change the visual appearance of your data through the use of control styles. You also see how to interact with the data-bound controls and how to speed up your application by keeping a local copy of frequently accessed data.

Chapter 15, "Security in Your ASP.NET 3.5 Web Site." Although presented quite late in the book, security is a first-class, important topic. This chapter shows you how to make use of the built-in ASP.NET features related to security. You learn about a number of application services that facilitate security. You also learn about how to let users sign up for an account on your web site, how to distinguish between anonymous and logged on users, and how to manage the users in your system.

Chapter 16, "Personalizing Web Sites." Building on the security features introduced in Chapter 15, this chapter shows you how to create personalized web pages with content targeted at individual users. You see how to configure and use the ASP.NET Profile that enables you to store personalized data for known and anonymous visitors.

Chapter 17, "Exception Handling, Debugging, and Tracing." In order to understand, improve, and fix the code you write for your ASP.NET web pages you need good debugging tools. Visual Web Developer ships with great debugging support that enables you diagnose to the state of your application at run-time, helping you to find and fix problems before your users do.

Chapter 18, "Deploying Your Web Site." By the end of the book, you should have a web site that is ready to be shown to the world. But how exactly do you do that? What are the things you need to know and understand to put your web site out in the wild? This chapter gives the answers and provides you with a good look at configuring different production systems in order to run your final web site.

Table of Contents

  1. Copyright
  2. Dedication
  3. About the Author
  4. Credits
  5. Acknowledgments
  6. Introduction
  7. Getting Started with ASP.NET 3.5
    1. Microsoft Visual Web Developer
    2. Creating Your First ASP.NET 3.5 Web Site
    3. An Introduction to ASP.NET 3.5
    4. A Tour of the IDE
    5. Customizing the IDE
    6. The Sample Application
    7. Practical Tips on Visual Web Developer
    8. Summary
    9. Exercises
  8. Building an ASP.NET Web Site
    1. Creating Web Sites with VWD 2008
    2. Working with Files in Your Web Site
    3. Working with Web Forms
    4. Practical Tips on Working with Web Forms
    5. Summary
    6. Exercises
  9. Designing Your Web Pages
    1. Why Do You Need CSS?
    2. An Introduction to CSS
    3. Working with CSS in Visual Web Developer
    4. Practical Tips on Working with CSS
    5. Summary
    6. Exercises
  10. Working with ASP.NET Controls
    1. Introduction to Server Controls
    2. A Closer Look at ASP.NET Server Controls
    3. Types of Controls
    4. The ASP.NET State Engine
    5. Practical Tips on Working with Controls
    6. Summary
    7. Exercises
  11. Programming Your ASP.NET Web Pages
    1. Introduction to Programming
    2. Data Types and Variables
    3. Statements
    4. Organizing Code
    5. Object Orientation Basics
    6. Practical Tips on Programming
    7. Summary
    8. Exercises
  12. Creating Consistent Looking Web Sites
    1. Consistent Page Layout with Master Pages
    2. Using a Centralized Base Page
    3. Themes
    4. Skins
    5. Practical Tips on Creating Consistent Pages
    6. Summary
    7. Exercises
  13. Navigation
    1. Different Ways to Move around Your Site
    2. Using the Navigation Controls
    3. Programmatic Redirection
    4. Practical Tips on Navigation
    5. Summary
    6. Exercises
  14. User Controls
    1. Introduction to User Controls
    2. Adding Logic to Your User Controls
    3. Practical Tips on User Controls
    4. Summary
    5. Exercises
  15. Validating User Input
    1. Gathering Data from the User
    2. Processing Data at the Server
    3. Practical Tips on Validating Data
    4. Summary
    5. Exercises
    1. Introducing Ajax
    2. Using ASP.NET AJAX in Your Projects
    3. Using Web Services in Ajax Web Sites
    4. Practical Ajax Tips
    5. Summary
    6. Exercises
  17. Introduction to Databases
    1. What Is a Database?
    2. Different Kinds of Relational Databases
    3. Using SQL to Work with Database Data
    4. Creating Your Own Tables
    5. Practical Database Tips
    6. Summary
    7. Exercises
  18. Displaying and Updating Data
    1. Data Controls
    2. Data Source and Data-Bound Controls Working Together
    3. Customizing the Appearance of the Data Controls
    4. Updating and Inserting Data
    5. Practical Tips for Displaying and Updating Data
    6. Summary
    7. Exercises
  19. LINQ
    1. Introducing LINQ
    2. Introducing LINQ to SQL
    3. Introducing Query Syntax
    4. Using Server Controls with LINQ Queries
    5. Practical LINQ Tips
    6. Summary
    7. Exercises
  20. Presenting Data — Advanced Topics
    1. Formatting Your Controls Using Styles
    2. Handling Events
    3. Caching
    4. Practical Data Tips
    5. Summary
    6. Exercises
  21. Security in Your ASP.NET 3.5 Web Site
    1. Introducing Security
    2. Introducing the Login Controls
    3. The Role Manager
    4. Practical Security Tips
    5. Summary
    6. Exercises
  22. Personalizing Web Sites
    1. Understanding Profile
    2. Other Ways of Dealing with Profile
    3. Practical Personalization Tips
    4. Summary
    5. Exercises
  23. Exception Handling, Debugging, and Tracing
    1. Exception Handling
    2. The Basics of Debugging
    3. Tools Support for Debugging
    4. Debugging Client-Side Script
    5. Tracing Your ASP.NET Web Pages
    6. Practical Debugging Tips
    7. Summary
    8. Exercises
  24. Deploying Your Web Site
    1. Preparing Your Web Site for Deployment
    2. Copying Your Web Site
    3. Running Your Site under IIS
    4. Moving Data to a Remote Server
    5. The Deployment Checklist
    6. What's Next
    7. Summary
    8. Exercises
  25. Exercise Answers
    1. Chapter 1
    2. Chapter 2
    3. Chapter 3
    4. Chapter 4
    5. Chapter 5
    6. Chapter 6
    7. Chapter 7
    8. Chapter 8
    9. Chapter 9
    10. Chapter 10
    11. Chapter 11
    12. Chapter 12
    13. Chapter 13
    14. Chapter 14
    15. Chapter 15
    16. Chapter 16
    17. Chapter 17
  26. Configuring SQL Server 2005
    1. Configuring SQL Server 2005
    2. Configuring Application Services
  27. Index