This article is a compilation of docs in www.asp.net quick start tutorials on www.asp.net/Tutorials/quickstart.aspx
ASP.NET 2.0 and Visual Web Developer Overview
Asp.Net 1.0 was a good tool whose design was concentrated on abstracting the developer from producing nifty gritty details of rendering knowledge on HTML or browser technologies. Asp.Net 2.0 whilst maintaining same ideas ; further improves the developer experience by very usable built-in services, so many crafted web controls, built-in web configuration and management ; overall supplies these easiness with better performance, scalability, flexibility and full object oriented customizability and extensibility on and within IIS.
Any tool cannot do any good unless it is driven by knowledge and intelligence. After understanding visual studio 2005 is just a tool, one should concern the internal of software methodology. Asp.net and vs2005 supports the very basics of today’s software methodologies such as object oriented programming, fundamental software design and implementation patterns (service oriented, model view controller). Knowledge on these topics will improve your software designs, consequently the overall quality and maintainability of software. So you should consider the above features (stated in first paragraph and extended below) of Asp.Net and software methodologies on the very beginning of software production.
ASP.NET 2.0 contains many built-in solutions to common web scenarios and actions.
New Server Controls: ASP.NET 2.0 includes over 50 new controls, making it easier than ever to create common UI elements in your web pages. For example, the Data controls simplify data access scenarios, the Login controls add security to your site, the Navigation controls enable site navigation, and WebPart controls allow you to easily create personalized web pages.
Data Controls: There are new data sources and data rendering controls built on declarative (no code) data access and binding. All due to new language enhancement called templates.
Navigation Controls. There are new navigation controls taking advantage of Asp.Net navigation service.
Login Controls. The new login controls provide the building blocks to add authentication and authorization-based UI to your site, such as login forms, create user forms, password retrieval, and custom UI for logged in users or roles. These controls use the built-in membership and role services in ASP.NET 2.0 to interact with the user and role information defined for your site.
Web Part Controls. Web parts are an exciting new family of controls that enable you to add rich, personalized content and layout to your site, as well as the ability to edit that content and layout directly from your application pages. These controls rely on the personalization services in ASP.NET 2.0 to provide a unique experience for each user in your application.
Master Pages: This feature provides the ability to define common structure and interface elements for your site, such as a page header, footer, or navigation bar, in a common location called a "master page", to be shared by many pages in your site. In one simple place you can control the look, feel, and much of functionality for an entire Web site. This improves the maintainability of your site and avoids unnecessary duplication of code for shared site structure or behavior.
Themes and Skins: The themes and skins features in ASP.NET 2.0 allow for easy customization of your site's look-and-feel. You can define style information in a common location called a "theme", and apply that style information globally to pages or controls in your site. Like Master Pages, this improves the maintainability of your site and avoids unnecessary duplication of code for shared styles.
Personalization: Using the new personalization services in ASP.NET 2.0 you can easily create customized experiences within Web applications. The Profile object enables developers to easily build strongly-typed, sticky data stores for user accounts and build highly customized, relationship based experiences. At the same time, a developer can leverage Web Parts and the personalization service to enable Web site visitors to completely control the layout and behavior of the site, with the knowledge that the site is completely customized for them. Personalization scenarios are now easier to build than ever before and require significantly less code and effort to implement.
Localization: Enabling globalization and localization in Web sites today is difficult, requiring large amounts of custom code and resources. ASP.NET 2.0 and Visual Studio 2005 provide tools and infrastructure to easily build Localizable site including the ability to auto-detect incoming locale and display the appropriate locale based UI. Visual Studio 2005 includes built-in tools to dynamically generate resource files and localization references. Together, building localized applications becomes a simple and integrated part of the development experience.
Administration and Management
ASP.NET 2.0 is designed with administration and manageability in mind. We recognize that while simplifying the development experience is important, deployment and maintenance in a production environment is also a key component of an application's lifetime. ASP.NET 2.0 introduces several new features that further enhance the deployment, management, and operations of ASP.NET servers.
Configuration API. ASP.NET 2.0 contains new configuration management APIs, enabling users to programmatically build programs or scripts that create, read, and update Web.config and machine.config configuration files.
ASP.NET MMC Admin Tool. ASP.NET 2.0 provides a new comprehensive admin tool that plugs into the existing IIS Administration MMC, enabling an administrator to graphically read or change any setting within our XML configuration files.
Pre-compilation Tool. ASP.NET 2.0 delivers a new application deployment utility that enables both developers and administrators to precompile a dynamic ASP.NET application prior to deployment. This precompilation automatically identifies any compilation issues anywhere within the site, as well as enables ASP.NET applications to be deployed without any source being stored on the server (one can optionally remove the content of .aspx files as part of the compile phase), further protecting your intellectual property.
Health Monitoring and Tracing. ASP.NET 2.0 also provides new health-monitoring support to enable administrators to be automatically notified when an application on a server starts to experience problems. New tracing features will enable administrators to capture run-time and request data from a production server to better diagnose issues. ASP.NET 2.0 is delivering features that will enable developers and administrators to simplify the day-to-day management and maintenance of their Web applications.
ASP.NET 2.0 is a well-factored and open system, where any component can be easily replaced with a custom implementation. Whether it is server controls, page handlers, compilation, or core application services, you'll find that all are easily customizable and replaceable to tailor to your needs. Developers can plug in custom code anywhere in the page lifecycle to further customize ASP.NET 2.0 to their needs.
Provider-driven Application Services. ASP.NET 2.0 now includes built-in support for membership (user name/password credential storage) and role management services out of the box. The new personalization service enables quick storage/retrieval of user settings and preferences, facilitating rich customization with minimal code. The new site navigation system enables developers to quickly build link structures consistently across a site. Because all of these services are provider-driven, they can be easily swapped out and replaced with your own custom implementation. With this extensibility option, you have complete control over the data store and schema that drives these rich application services.
Server Control Extensibility. ASP.NET 2.0 includes improved support for control extensibility, such as more base classes that encapsulate common behaviors, improved designer support, more APIs for interacting with client-side script, metadata-driven support for new features like themes and accessibility verification, better state management, and more.
Data Source Controls. Data access in ASP.NET 2.0 is now performed declaratively using data source controls on a page. In this model, support for new data backend storage providers can be easily added by implementing custom data source controls. Additionally, the SqlDataSource control that ships in the box has built-in support for any ADO.NET managed provider that implements the new provider factory model in ADO.NET.
Compilation Build Providers. Dynamic compilation in ASP.NET 2.0 is now handled by extensible compilation build providers, which associate a particular file extension with a handler that knows how to compile that extension dynamically at runtime. For example, .resx files can be dynamically compiled to resources, .wsdl files to web service proxies, and .xsd files to typed DataSet objects. In addition to the built-in support, it is easy to add support for additional extensions by implementing a custom build provider and registering it in Web.config.
Expression Handlers. ASP.NET 2.0 introduces a declarative new syntax for referencing code to substitute values into the page, called Expression Handlers. ASP.NET 2.0 includes expression handlers for referencing string resources for localization, connection strings, application settings, and profile values. You can also write your own expression handlers to create your own custom syntax to substitute values in a page rendering.
Performance and Scalability
ASP.NET is built to perform, using a compiled execution model for handling page requests and running on the world's fastest web server, Internet Information Services. ASP.NET 2.0 also introduces key performance benefits over previous versions.
64-Bit Support. ASP.NET 2.0 is now 64-bit enabled, meaning it can take advantage of the full memory address space of new 64-bit processors and servers. Developers can simply copy existing 32-bit ASP.NET applications onto a 64-bit ASP.NET 2.0 server and have them automatically be JIT compiled and executed as native 64-bit applications (no source code changes or manual re-compile are required).
Caching Improvements. ASP.NET 2.0 also now includes automatic database server cache invalidation. This powerful and easy-to-use feature allows developers to aggressively output cache database-driven page and partial page content within a site and have ASP.NET automatically invalidate these cache entries and refresh the content whenever the back-end database changes. Developers can now safely cache time-critical content for long periods without worrying about serving visitors stale data.
Visual Web Developer 2005 Overview
Visual Web Developer is tuned to the specific needs of the Web developer through a new Web profile that exposes a menu and window layout optimized for Web development. The environment includes a best-of-breed HTML source editor, an improved visual page designer, a new project system, better support for working with data, and full XHTML standards support. Collectively, these features enable you to develop data-driven Web applications faster and easier than ever before. Below well dive in and explore a few of the many Web development improvements coming with Visual Web Developer.
Better Source Code Editing
Visual Web Developer has an improved HTML source editor which enables you to write and modify your pages faster. The source editor provides full Intellisense throughout your files and has new features for navigating and validating your markup.
Intellisense -- the popup code hints which appear while you type -- has a dramatic impact on your productivity as a developer. While support for Intellisense in Visual Studio .NET 2003 is excellent today, support for Intellisense in Visual Web Developer gets even better.
In Visual Web Developer, Intellisense pops up everywhere. For example, you can take full advantage of Intellisense within the script blocks in single file ASP.NET pages. In addition, Visual Web Developer also supports Intellisense for ASP.NET Page Directives and for inline CSS style attributes within a page.
Visual Web Developer also provides Intellisense for all sections within a Web.Config configuration file, as well as any generic XML file that contains a DTD or XML Schema reference.
Using Intellisense in a single file ASP.NET page
HTML Source Preservation
Visual Web Developer respects your HTML. The formatting of your HTML markup -- including all white space, casing, indention, carriage returns, and word wrapping -- is now preserved exactly as originally written, even when switching back and forth between the design view and source view of the page. You can completely trust Visual Web Developer to never modify your markup.
HTML Formatting Options
Visual Web Developer enables you to precisely control the format of all HTML and ASP.NET Server Control markup generated using the WYSIWYG designer. You can now configure the tag casing, attribute quotation, indention style and word wrap characteristics of every html or server control tag in a page. You can set these formatting options as defaults for all markup, as well as optionally override each formatting option on a per tag/control basis. This provides you with the flexibility to fully control exactly how you want your markup to be generated.
HTML format settings can be exported and imported from Visual Web Developer to enable markup style standardization across multiple developers on a team. Visual Web Developer also enables developers to easily apply HTML formatting rules to existing markup source (to handle those cases when you need to update existing HTML source with new formatting rules).
The HTML source editor within Visual Web Developer ships with a new Tag Navigator feature that enables developers to easily track their location and navigate within a complicated HTML document. The Tag Navigator displays the current "path" within the source of an HTML page by displaying a list of all the HTML tags which contain the tag where your cursor is currently located. Clicking on any of the nodes enables developers to optionally change the source level selection, and quickly move up and down a deep HTML hierarchy.
Imagine, for example, that you are editing the source of an HTML page with multiple nested HTML tables. Editing nested tables can be challenging since it is easy to get lost within the jumble of nested table rows and cells. However, by taking advantage of the Tag Navigator, you can avoid getting lost since the Tag Navigator continuously displays your current path within the hierarchy of table elements.
Tag Outlining enables you to work more effectively with large HTML documents. With Tag Outlining, you can right-click any HTML tag in the source editor and select Collapse Tag to hide the entire contents of the tag. Collapsing different regions of the HTML source code contained in a page makes it easier to focus on the particular region of the page which you need to edit.
Flexible Browser Targeting and Validation
Visual Web Developer enables you to easily target a specific HTML standard or browser when writing your HTML pages. For example, you can target your HTML pages to work with a particular browser such as Netscape Navigator 4.0 or Internet Explorer 6.0. Alternatively, you can target a particular HTML standard such as XHTML 1.0 Strict or XHTML 1.0 Transitional.
Your HTML will then be validated in real-time as you type in the source editor. Invalid HTML will automatically be underlined with a red squiggly (with a tooltip displaying an explanation of precisely how you violated the target). These validation errors are also summarized in real-time within the Task List window.
All browser/standard validation rules are pluggable within Visual Web Developer, and can be easily extended and customized by developers. Visual Web Developer will include a number of automatic validation targets out of the box including built-in validation support for XHTML, XHTML Transitional, and all major desktop and mobile browsers.
Selecting a validation target
Code Refactoring enables you to easily and systematically make changes to your code. Code Refactoring is supported everywhere that you can write code including both code-behind and single-file ASP.NET pages. For example, you can use Code Refactoring to automatically promote a public field to a full property.
Intellitask is like a super smart clipboard designed for working with code. Intellitask improves your productivity by enabling you to easily apply standard code snippets anywhere within the source editor. Simply by right-clicking, you can inject common code into your pages. Visual Web Developer will ship with more than 200 web specific Intellitask code snippets out of the box. Better yet, you can add your own code templates to Intellitask so that you can quickly modify your code in the future.
Richer Visual Designer
Visual Web Developer has an improved designer which makes it easier to visually build ASP.NET Web applications. By taking advantage of the new designer tools, you can build a feature rich, database-driven Web application without writing a single line of code.
ASP.NET Master Page Designer
Master Pages enable you to create a common look and feel for the pages in an ASP.NET Web application. You can take advantage of Master Pages to create a single page layout and apply the page layout to multiple Content Pages. For example, you can use a Master Page to ensure that every page in an application contains the same standard header, footer, and navigation bar.
Visual Web Developer provides full WYSWIYG authoring support for ASP.NET Master Pages. After you create a Master Page, you can apply the Master to new ASP.NET Pages within your Web site. Visual Web Developer provides great editing support when authoring an ASP.NET page based on a Master enabling the designer to see what the combined page will look like, while simultaneously ghosting out all content from the Master that cannot be edited on the Content Page.
Master Pages in the designer
Visual Web Developer enables you to perform many of the most common programming tasks directly from the designer surface. By taking advantage of Smart Tasks, You can create an entire; feature rich, database-driven Web application without writing a single line of code.
When you drag new controls onto the designer surface, a popup list of common tasks automatically appears. You can use the common tasks list to quickly configure a control's properties, as well as walk through common operations you might perform with it. For example, when you add a GridView control to a page, a common task list appears which enables you to quickly enable sorting, paging, or editing for the GridView. When you add a TextBox control to a page, a common task list appears which enables you to quickly associate a validation control with the control.
Enabling GridView options with Smart Tasks
Improved ASP.NET Template Editing
Visual Web Developer has better designer support for editing templates. You can take advantage of the new template editing features when working with data controls such as the DataList and GridView controls.
When adding a control to a template in the designer, you can easily specify the databound expressions to associate with the control properties. For example, if you drag a TextBox control onto a template, you can bind the TextBox control's Text property to a particular field from the data control's data source. The Edit Databindings dialog box provided by the Visual Web Developer template editing designer enables you to easily bind particular fields by name.
Improved Table Editing
Visual Web Developer has better HTML table editing features. The improved Insert Table dialog box enables you to quickly control the look and feel of the new table when it is added to the designer surface. In addition, Visual Web Developer provides the ability to resize tables, table columns and table rows graphically within the designer surface (just click and hold down the appropriate element to size it).
Better Web Projects
Visual Web Developer provides you with more flexibility and features for managing the files in your web projects. The new web project system includes new tools for accessing, compiling, and publishing your Web application projects.
File System Support
Visual Web Developer provides you with the option of creating a new Web application within any folder on your computer. When you create a file system project, you do not need to have IIS or Front Page Server Extensions installed on your computer. You can simply point at a folder and start building Web pages.
Creating a File System Web site
Visual Web Developer includes its own built-in ASP.NET enabled Web server. This enables you to develop and debug Web applications on a computer without IIS installed. It also enables developers to build and debug web applications without requiring Administrator access.
The built-in Web server provides you with a more secure way of building applications on a development machine. The built-in Web server cannot be accessed remotely (it can only be used by a local web browser) and it automatically shuts down when you close the Visual Web Developer development environment.
Local IIS Support (No FrontPage Server Extensions Required)
In addition to file system projects, Visual Web Developer now enables you to more easily manage projects which work with an IIS Web server. When you create a new IIS project, you can now view all of the Web sites and applications configured on your machine. You can even create new IIS Web applications or virtual directories directly from the New Web Site dialog box.
Frontpage Server Extensions (FPSE) are no longer required for locally developed IIS web applications. You can create and fully manage your websites without having to install or configure them.
Visual Web Developer now has built-in support for editing and updating remote web projects using the standard File Transfer Protocol (FTP). You can quickly connect to a remote Web site using FTP within the New Web Site and Open Web Site dialog box.
Better Web Publishing
With Visual Web Developer, you can now publish a Web site to a remote server easier than ever before. Built-in publishing features enable developers to easily keep files in a local project synchronized with files located on a remote Web server. Visual Web Developer provides automatic logging support for all files copied, and enables developers to quickly identify whether the latest files have been updated.
Publishing a Web site to a remote Web server
Pre-Compiled ASP.NET Web Sites
Visual Web Developer now includes built-in IDE support for pre-compiling ASP.NET 2.0 applications. By taking advantage of pre-compilation, you can automatically validate and compile all code in a site (including code-behind, inline code and business classes) and emit an output directory with only compiled .dll assemblies and the applications web.config file (all HTML markup and .aspx files will optionally be removed). In addition, you can choose to obfuscate the resulting code as part of the pre-compilation process for greater intellectual property protection.
The pre-compilation feature enables developers to easily build and re-sell ASP.NET web applications without having to ship their source. It can also improve the sites performance and startup time on a production server.
Better Data Support
Visual Web Developer makes it much easier to work with data in your Web applications.
Drag and Drop Data Access
You can easily create a database-driven Web page by dragging and dropping data controls onto a page. By taking advantage of the new ASP.NET 2.0 data source controls, you can easily connect to a database, retrieve database records, and update database records without writing any code (or having Visual Studio write any code for you!).
Imagine, for example, that you want to display all the records from a Microsoft SQL Server database table named Products in a Web page. To do this, you simply need to drag two controls onto the page: a SqlDataSource control and a GridView control. By setting a few properties of these controls, you can automatically retrieve and display the records in a Web page.
Data Access Layer Designer
Visual Web Developer provides built-in designer support for building and maintaining a Data Access Layer within your web application. The data designer enables developers to model database tables and stored procedures as components that encapsulate procedural ADO.NET data access logic. You can then easily access and update your data from both web pages and business objects through these data components.
Powerful Object Data Binding
Visual Web Developer enables you to quickly create 3-tier applications with distinct presentation, business, and data layers. By taking advantage of the new ASP.NET ObjectDataSource control, you can declaratively bind data controls -- like the GridView, DataList, and DropDownList controls -- to a business or data component instead of binding the controls directly to a database. This enables clean encapsulation and abstraction of functionality within your application and eliminates the need to write any data access code in your presentation layer.
The development environment automatically guides developers through the process of binding a data control to a business object. Developers are prompted to select the particular methods from the business object to use for selecting, inserting, updating, and deleting data. No code is required from the page developer.
Connection String Management
Visual Web Developer helps you avoid hard-coding database connection strings into your ASP.NET pages. All data connection dialogs and wizards provide you with the option of storing database connection strings in an applications Web.Config file.
Storing database connection strings in the Web.Config file makes your connection strings more manageable and more secure. If you need to change your database password, you need to change it at only one location. The ASP.NET 2.0 MMC Admin tool automatically provides administrators with an easy to use interface for changing connection strings on servers. In addition, the tool can be used to encrypt connection strings on production servers.
Better Standards Support
Visual Web Developer enables you to easily build applications that conform to industry and government standards. The development environment includes new tools for supporting W3C standards such as XHTML and government standards such as accessibility standards.
XHTML Compliant Designer
All HTML code generated by Visual Web Developer is XHTML compliant. For example, all the formatting options available from the toolbar generate HTML which is fully XHTML compliant. All tags generated by the designer are well-formed and properly cased for XHTML.
In addition to XHTML designer support, Visual Web Developer also includes tools for helping you write XHTML compliant code in the source editor. While working in the source editor, you can validate your HTML source code against either the XHTML 1.0 Transitional or XHTML 1.0 Strict standards. When your code doesn't successfully validate, you are provided with an explanation for the validation failure.
Creating accessible Web pages -- Web pages which can be used by persons with disabilities -- is a requirement for many government agencies and large corporations. Visual Web Developer now enables you to easily validate and enforce accessibility standards.
You can use the integrated Visual Web Developer Accessibility Checker (available in Visual Studio Standard Edition and above only) to quickly identify accessibility problems in your application. The Accessibility Checker validates your ASP.NET pages against both the Section 508 and W3C Web Content Accessibility Guidelines (WCAG) standards, and will automatically output warnings and errors to the IDE Task List.