Vous êtes sur la page 1sur 6

#46

CONTENTS INCLUDE:

Core ASP.NET
n
Installation
Get More Refcardz! Visit refcardz.com

n
ASP.NET Web Applications
n
The ASP.NET Webform Model
n
Web Controls
n
The Page Class
n
Hot Tips and more... By Holger Schwichtenberg

ABOUT ASP.NEt ASP.NEt Web Applications

ASP.NET stands for “Active Server Pages .NET”, however An ASP.NET application consists of several .aspx files. An
the full name is rarely used. ASP.NET is a framework for the .aspx file can contain HTML markup and special ASP.NET
development of dynamic websites and web services. It is based markup (called Web Controls) as well as the code (Single Page
on the Microsoft .NET Framework and has been part of .NET Model). However, the Code Behind Model which comes with
since Version 1.0 was released in January 2002. The current a separate code file called, the “Code Behind File” (.aspx.
version named 3.5 Service Pack 1 was released in August 2008. cs or .aspx.vb), provides a cleaner architecture and better
The next version, 4.0, is expected to be released at the end of collaboration between Web designers and Web developers.
the year 2009. ASP.NET applications may contain several other elements
such as configuration files (maximum one per folder), a global
This Refcard summarizes the most commonly used core fun-
application file (only one per web application), web services,
ctions of ASP.NET. You will find this Refcard useful for some of
data files, media files and additional code files.
the most common tasks with ASP.NET, regardless of the version
you are using There are two types of Web projects: “Website Projects” (File/
New/Web Site) and “Web Application Projects” (File/New/
Installation Project/Web Application). “Website” is the newer model,
while Web Application Projects mainly exist for compatibility
The best development environment for ASP.NET is Microsoft’s with Visual Studio .NET 2002 and 2003. This Refcard will only
Visual Studio. You can either use the free Visual Web cover Web Site Projects. Most of this content is also valid for
Developer Express Edition (http://www.microsoft.com/express/ Web Applications.
vwd/) or any of the commercial editions of Visual Studio (e.g.
www.dzone.com

Visual Studio Professional). The latest version that supports


A well designed ASP.NET application distinguishes
ASP.NET 2.0 and ASP.NET 3.5 is “2008” (internal version:
itself by having as little code in the Code Behind
9.0). The .NET Framework and ASP.NET are part of the setup
of Visual Web Developer Express Edition and Visual Studio.
files and other code files as possible. The large
However, make sure you install Service Pack 1 for Visual Studio Hot majority of your code should be in referenced
2008, as this will not only fix some bugs but also add a lot of Tip Assemblies (DLLs) as they are reusable in other
new features. Web applications. If you don’t want to put your code
into a separate assembly, you at least should use
ASP.NET needs a server with the HTTP protocol (web server) separate classes in the “App_Code” folder within your
to run. Visual Web Developer Express 2005/2008 and Visual web project.
Studio 2005/2008 contain a webserver for local use on your
development machine. The “ASP.NET Development Server”
(ADS) will be used when specifying a “File System” location
when creating your project. Thus, “HTTP” would mean you
address a local or remote instance of Internet Information Get More Refcardz
Server (IIS) or any other ASP.NET enabled web server. ADS (They’re free!)
is a lightweight server that cannot be reached from other
systems. However, there are differences between ADS and n Authoritative content
IIS, especially in the security model that makes it sometimes n Designed for developers
hard for beginners to deploy a website to the IIS that was n Written by top experts
Core ASP.NET

developed with ADS. On the production system you will use IIS n Latest tools & technologies

and only install the .NET Framework, because Visual Studio is n Hot tips & examples

not required here. n Bonus content online

n New issue every 1-2 weeks


If you choose to use Internet Information Server (IIS),
install the IIS on your machine before installing the
Hot .NET Framework or Visual Studio. If you did not follow
Tip this installation order, you may use aspnet_regi- Subscribe Now for FREE!
is.exe to properly register ASP.NET within the IIS. Refcardz.com

DZone, Inc. | www.dzone.com


2
Core ASP.NET

Page Pointer to the page where the control lives

Parent Pointer to the parent control, may be the same as “Page”

HasControls() True, if the control has sub-controls

Controls Collection of sub-controls

FindControl(“NAME”) Finds a sub-control within the Controls collection by its ID

BackColor, BorderColor, Self-explaining properties for the formatting of the control.


Borderstyle, BorderWidth,
Font, ForeColor, Height,
Width, ToolTip, TabIndex

CssClas The name of CSS class that is used for formatting the control

Style A collection of single CSS styles, if you don’t want to use a


CSS class or override behavior in a CSS class

EnableViewState Disables page-scoped state management for this control

Visible Disables rendering of the control

Enabled Set to false if you want the control to be disabled in the


browser

Figure 1: The Content of an ASP.NET Web Application Focus() Set the focus to this control

DataBind() Gets the data (if the control is bound to a data source)
The ASP.NET Webform Model
Init() Fires during initializtion of the page. Last chance to change
basic setting e.g. the culture of the current thread that
ASP.NET uses an object- and event-oriented model for web determines the behavior used for rendering the page.

pages. The ASP.NET Page Framework analyzes all incoming Load() Fires during the loading of the page. Last to change to do
any preparations.
requests as well as the .aspx page that the request is aimed
PreRender() Fires after all user defined event handlers have completed
at. The Page Framework creates an object model (alias control and right before rendering of the page starts. Your last
tree) based on this information and also fires a series of events. chance to make any changes to the controls on the page!

Event handlers in your code can access data, call external UnLoad() Event fires during the unloading of a page.

code in referenced .NET assemblies and manipulate the object Table 1: Core Members in the base class system. Web.UI.WebControls.WebControl.
model (e.g. fill a listbox or change the color of a textbox). After Tables 2, 3 and 4 list the most commonly used controls for ASP.
all event handlers have executed, the Page Framework renders NET web pages. However, there are more controls included
the current state of the object model into HTML tags with in the .NET platform and many more from third parties not
optional CSS formatting, JavaScript code and state information mentioned here.
(e.g. hidden fields or cookies). After interacting with the page, Control Purpose Important specific members in
the user can issue a new request by clicking a button or a link addition to the members inherited
from WebControl
that will restart the whole process.
<asp:Label> Static Text Text

<asp:TextBox> Edit Text (single line, TextMode, Text, TextChanged()


multiline or password)

<asp:FileUpload> Choose a file for FileName, FileContent, FileBytes,


upload SaveAs()

<asp:Button> Display a clasic button Click(), CommdName, Command()

<asp:ImageButton> Display a clickable Click(), CommdName, Command()


image

<asp:LinkButton> Display a hyperlink that ImageUrl, ImageAlign, Click(),


works like a button CommdName, Command()

<asp:CheckBox> Choose an option Text, Checked, CheckedChanged()

<asp:RadioButton> Choose an option Text, Checked, CheckedChanged()


Figure 2: The ASP.NET request/response life cycle
<asp:HyperLink> Display a hyperlink NavigateURL, Target, Text

Web Controls <asp:Image> Display an image ImageURL, ImageAlign

<asp:ImageMap> Display a clickable ImageURL, ImageAlign, HotSpots,


image with different HotSpotsMode, Click()
An ASP.NET page can contain common HTML markup. regions
However, only ASP.NET web controls provide full object- Table 2: Core controls for ASP.NET web pages.
and event-based functionality. Web controls have two List controls display several items that the user can choose
representations: In the .aspx files they are tags with the prefix from. The selectable items are declared static in the .aspx
“asp:”, e.g. <asp:TextBox>. In the code they are .NET classes, file or created manually using the Items collection or created
e.g. System.Web.UI.WebControls.TextBox. automatically by using data binding. For data binding you can
Table 1 lists the core members of all web controls that are fill DataSource with any enumerable collection of .NET objects.
implemented in the base class “System.Web.UI.WebControls. DataTextField and DataValueField specify which properties of
WebControl”. the objects in the collection are used for the list control.

Name of Member Description


If you bind a collection of primitive types such as
Id Unique identifier for a control within a page Hot strings or numbers, just leave DataTextField and
ClientID Gets the unique identifier that ASP.NET generates if more
Tip
than one control on the page has the same (String) ID.
DataValueField empty.

DZone, Inc. | www.dzone.com


3
Core ASP.NET
tech facts at your fingertips

Setting AppendDataBoundItems to true will add the For the CustomValidator you can optionally write
databound items to the static items declared in the a JavaScript function that performs client side vali-
Hot .aspx file. This will allow the user to select values that dation. The function has to look like this:
Tip don’t exist in the data source such as the values “All” Hot <script type=”text/javascript”>
function ClientValidate(source, args)
or “None” Tip {
if (x > 0) // Any condition
{ args.IsValid=true; }
else
Control Purpose Important specific members in { args.IsValid=false; }
addition to the members inherited }
from WebControl </script>
<asp:Drop Allows the user to select Items.Add(), Items.
DownList> a single item from a Remove(), DataSource,,
drop-down list DataTextField, DataValueField,
AppendDataBoundItems, The Page Class
SelectedIndez, SelectedItem,
SelectedValue, SelectedIndexChanged()

<asp:ListBox> Single or multiple Items.Add(), Items. All web pages in ASP.NET are .NET classes that inherit from
selection box Remove(), DataSource,,
DataTextField, DataValueField, the base class “System.Web.UI.Page”. The class Page has
AppendDataBoundItems, associations to several other objects such as Server, Request,
SelectedIndez, SelectedItem,
SelectedValue, SelectedIndexChanged(), Response, Application, Session and ViewState (see figure
Rows, SelectionMode
3). Therefore, developers have access to a wide array of
<asp:Check Multi selection check Items.Add(), Items.
BoxList> box group Remove(), DataSource,,
properties, methods and events within their code. Table 5 lists
DataTextField, DataValueField, the most important members of a Page and its dependent
AppendDataBoundItems,
SelectedIndez, SelectedItem, classes. Please note that the Page class has the class Control in
SelectedValue, SelectedIndexChanged(), its inheritance hierarchy and therefore shares a lot of members
RepeatLayout, RepeatDirection
with the WebControl class (e.g. Init(), Load(), Controls,
<asp:Radio Single selection radio Items.Add(), Items.
ButtonList> button group Remove(), DataSource,, FindControl). However, these members are not repeated here.
DataTextField, DataValueField,
AppendDataBoundItems,
SelectedIndez, SelectedItem,
SelectedValue, SelectedIndexChanged(),
RepeatLayout, RepeatDirection

<asp:Bulleted List of items in a Items.Add(), Items.


List> bulleted format Remove(), DataSource,,
DataTextField, DataValueField,
AppendDataBoundItems,
SelectedIndez, SelectedItem,
SelectedValue, SelectedIndexChanged(),
BulletImageUrl, BulletStyle
Table 3: List Controls for ASP.NET web pages

Validation Controls check user input. They always refer to


one input control ControlToValidate and display a text
ErrorMessage if the validation fails. They perform the checks in
the browser using JavaScript and also on the server. The client
side validation can be disabled by setting EnableClientScript
to false. However, the server side validation cannot be
disabled for security reasons.
Figure 3: Object Model of “System.Web.UI.Page”

Control Purpose Important specific members Member Description


in addition to the members
inherited from WebControl Page Title Title string of the Page

<asp:Required Checks if a user changed the ControlToValidate, ErrorMessage, Page.IsPostBack True, if page is being loaded in response to a
FieldValidator> initial value of an input control Display, EnableClientScript, client postback. False if it is being loaded for
IsValid, InitialValue the first time.

<asp:Compare Compares the value entered by ControlToValidate, ErrorMessage, Page.IsAsync True, if the page is loaded in an
Validator> the user in an input control with Display, EnablesClientScript, asynchronous request (i.e. AJAX request)
the value entered in another IsValid, ValueToCompare, Type,
input control, or with a constant ControlToCompare
value Page.IsValid True, if all validation server controls in
the current validation group validated
<asp:Range Checks whether the value of ControlToValidate, ErrorMessage, successfully
Validator> an input control is within a Display, EnableClientScript,
specified range of values IsValid, MinimumValue, Page.Master Returns the MasterPage object associated
MaximumValue, Type with this page

<asp:Regular Checks if the user input ControlToValidate, ErrorMessage, Page.PreviousPage Gets the page that transferred control to
Expression matches a given regular Display, EnavleClientScript, the current page (only available if using
Validator> IsValid, ValidationExpression Server.Transfer, not available with Response.
Redirect)
<asp:Custom Performs custom checks on the ControlTValidate, ErrorMessage,
Validator> server and optional also on the Display, EnableClientScript, Page.SetFocus(Control ControlID) Sets the browser focus to the specified
client using JavaScript IsValid, ValidateEmptyText, control (using JavaScript)
Client ValidationFunction, Trace.Write Writes trace information to the trace log.
ServerValidate()
User.Identity.IsAuthenticated True, if the user has been authenticated.
Table 4: Validation controls for ASP.NET web pages

DZone, Inc. | www.dzone.com


4
Core ASP.NET
tech facts at your fingertips

User.Identity.AuthenticationType Type of Authentication used (Basic, NTLM,


Kerberos, etc) A Typical Page
User.Identity.Name Name of the current user
Figure 4 shows the typical content of an .aspx page and Figure
Server.MachineName Name of the computer the web server is
running on 5 the content of a typical code behind class. The sample used
Server.GetLastError() Gets the Exception object for the last
is a registration form with three fields: Name, Job Title and
exception Email Address.
Page
Server.HtmlEncode(Text) Applies HTML encoding to a string <%@ Page Language=”C#” AutoEventWireup=”true” Directive
Server.UrlEncode(Pah) Applies URL encoding to a string CodeFile=”PageName.aspx.cs” Inherits=”PageName” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//en”
Server.MapPath(Path) Maps the given relative path to an absolute “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
path on the web server
<html xmlns=”http://www.w3.org/1999/xhtml”>
Server.Transfer(Path) Stops the execution of the current page and <head runat=”server”> HTML Tags
starts executing the given page as part of the <title>Registration Page</title>
current HTTP request <link href=”MyStyles.css” rel=”stylesheet” type=”text/css”/>
Request.AcceptTypes String array of cliet-supported MIME accept <style type=”text/css”>
types. .Headline Reference to Style Sheet Files
{
Request.Browser Provides information about the browser
font-size: large; font-weight: bold;
Request.ClientCertificate Provides the certificate of the client, if SSL }
client authentication is used </style> Inline
Form Tag(exactly
Request.Cookies The list of cookies that the browser sent to </head> Styles
<body>
one per page) Dynamic
the web server
<form id=”c_Form” ruanat=”server”> Label
Request.Form The name and value of the input fields the
<div>
browser sent to the web server
<asp:Label runat=”server” ID=”C_Headline” Text=”Please register:”
Request.Headers Data from the HTTP header the browser sent class=”Headline”></asp:label>
to the web server <p>Name:
Request.IsAuthenticated True, if the user is authenticated <asp:TextBox ID=”C_Name” runat=”server”></asp:TextBox>
Static <asp:RequiredFieldValidator ID=”C_NameVal” ControlToValidate=”C_
Request.IsSecureConnection True, if SSL is used Labels Name” ruanat=”server” ErrorMessage=”Name required”></
Request.Path Virtual path of the HTTP request (without asp:RequiredFieldValidator>
server name) </p> Web Control with
<p>Job Title: Subcontrols
Request.QueryString Name/Value pairs the browser sent as part
of the URL <asp:DropDownList ID=”C_JobTitle” runat=”server”>
<asp:ListItem Text=”Software Developer” Value=”SD”></
Request.ServerVariables Complete list of name/value pairs with asp:ListItem>
information about the server and the current
<asp:ListItem Text=”Software Architect” Value=”SA”></
request
asp:ListItem>
Request.Url Complete URL of the request </asp:DropDownList> Simple Web
</p>
Request.UrlReferrer Refering URL of the request (Previous page, Control
the browser visited) <p>EMail:
<asp:TextBox ID=”C_EMail” runat=”server”></asp:TextBox>
Request.UserAgent Browser identification <asp:RequiredFieldValidator Id=”C_EMailVal1” ControlToValidate=”C_
Request.UserHostAddress IP address of the client EMail” runat=”server” ErrorMessage=”EMail required”></
asp:RequiredFieldValidator>
Request.UserLanguages Preferred languages of the user (determined <asp:RegularExpressionValidator ID=”C_EMailVal2”
by browser settings)
ControlToValidate=”C_EMail” runat=”server” ErrorMessage=”Email
Response.BinaryWrite(bytes) Writes information to an HTTP response not valid” ValidationExpression=”\w+([-+.’]\w+)*@\w+([-.]\
output stream. w+)*\.\w+([-.]\w+)*”>
</asp:RegularExpressionValidator> Validation
Response.Write(string) Writes information to an HTTP response
output stream. </p> Controls
<p>
Response.WriteFile(string) Writes the specified file directly to an HTTP <asp:Button ID=”C_register” runat=”server” Text=”Register”
response output stream.
onclick=”C_Register_Click”/>
Response.BufferOutput True if the output to client is buffered </p>
</div>
Response.Cookies Collection of cookies that shall be sent to
the browser </form>
</body>
Response.Redirect(Path) Redirects a client to a new URL using the </html>
HTTP status code 302
Figure 4: Typical content of an ASPX file
Response.StatusCode HTTP status code (integer) of the output
returned to the client using System;
using System.Collections.Generic;
Response.StatusDescription HTTP status string of the output returned to using System.Linq;
the client using System.Web;
using System.Web.UI; All page classes
Session.SessionID Unique identifier for the current session (a
session is user specific) using System.Web.UI.WebControls; must derive from
“page”
Session.Item Gets or sets individual session values. public partial class PageName : System.Web.UI.Page
{ The “Load” event is
Session.IsCookieless True, if the ID for the current sessions are
protected void Page_Load(object sender, EventArgs e)
embedded in the URL. False, if its stored in fired every time the
an HTTP cookie {
// If an authenticated users starts using this page, Page is requested
ViewState.Item Gets or sets the value of an item stored in the // use his login name in the name textbox
ViewState, which is a hidden field used for if (!Page.IsPostBack && Page.User.Identity.IsAuthenticated)
state management witin a page {
this.C_Name.Text = Page.User.Identity.Name;
All page classes
Application.Item Gets or sets the value of an item stored in
the application state, which is an application- this.C_Name.Enabled = false; must derive from
scope state management facility } “page”
}
Table 5: Most important members of the Page class and its associated classes

DZone, Inc. | www.dzone.com


5
Core ASP.NET
tech facts at your fingertips

long CurrentCounter_Application, CurrentCounter_ApplicationLimited,


Reaction to a User’s
CurrentCounter_Session, CurrentCounter_Page, CurrentCounter_User;
Action if (Application[“Counter”] == null) { CurrentCounter_Application =
protected void C_Register_Click(object sender, EventArgs e) 0; }
{  else  { CurrentCounter_Application = Convert.ToInt64(Application[“C
if (Page.IsValid) // if all validation controls succedded ounter”]); }
{ // call business logic and if (Session[“Counter”] == null)  { CurrentCounter_Session = 0; }
if (BL.Register(this.C_Name.Text, this.C_EMail.Text, this.C_ else { CurrentCounter_Session = Convert.
JobTitle.SelectedValue)) ToInt64(Session[“Counter”]);}
Call Business { // redirect to confirmation page if (ViewState[“Counter”] == null) { CurrentCounter_Page = 0; }
Logic Response.Redirect(“RegistrationConfirmation.aspx”);  else {   CurrentCounter_Page = Convert.
} ToInt64(ViewState[“Counter”]);  }
else
Redirect to annother if (Request.Cookies[“Counter”] == null)  { CurrentCounter_User = 0; }
{ // change the headline Page  else { CurrentCounter_User = Convert.ToInt64(Request.
this.C_Headline. = “You are already registered!”; Cookies[“Counter”].Value); }
} Figure 7: Reading Values
}
Changing a Property
} of a Webcontrol
} Configuration
Figure 5: Typical content of a Code Behind file

All configurations for ASP.NET applications are stored in XML-


State Management
based configuration files with the fixed name “web.config”. In
State management is a big issue in web applications as the addition to the configuration files in the application root folder,
HTTP protocol itself is stateless. There are three standard subfolders may also contain a web.config that overrides parent
options for state management: hidden files, URL parameters settings. Also, there are the global configuration files machine.
and cookies. However, ASP.NET has some integrated config and web.config in the folder \Windows\Microsoft.NET\
abstractions from these base mechanisms know as View State, Framework\v2.0.50727\CONFIG that provide some default
Session State, and Application State. Also, the direct use of
settings for all web applications. (Note: v2.0.50727 is still
cookies is supported in ASP.NET. correct for ASP.NET 3.5!).

Visual Studio and Visual Web Developer create a default root


Disabling the View State (EnableViewState=false in configuration file in your web project that contains a lot of
a control) will significantly reduce the size of the internal setting for ASP.NET 3.5 to work properly. Figure 6
page sent to the browser. However, you will have to shows a fragment from a web.config file with settings that are
Hot often used.
Tip take care of the state management of the controls
with disabled View State on your own. Some complex <!-- Connection strings -->
controls will suffer the loss of functionality without <connectionStrings>
<add name=”RegistrationDatabase” connectionString=”Data
View State. Source=EO2;Initial Catalog= RegistrationDatabase;Integrated
Security=True” providerName=”System.Data.SqlClient” />
The following code snippet shows how to set values for a </connectionStrings>
<!-- User defined settings -->
counter stored in each of these mechanisms: <AppSettings>
<and key=”WebmasterEMail” value=”hs@IT-Visions.de” />
ViewState[“Counter”] = CurrentCounter_Page + 1; </appSettings>
Session[“Counter”] = CurrentCounter_Session + 1;
Application[“Counter”] = CurrentCounter_Application + 1; <system.web>
Response.Cookies[“Counter”].Value = (CurrentCounter_User + <!-- Specify a login page -->
1).ToString(); <!-- Use the URL for storing the authentication ID if cookies are
Response.Cookies[“Counter”].Expires = DateTime.MaxValue; // no not allowed -->
expiration <!-- Set the authentication timeout to 30 minutes -->
Figure 6: Setting Values <authentication mode=”Forms”>
<forms loginUrl=”Login.aspx” cookieless=”AutoDetect” timeout=”30”>
</forms>
When reading value from these objects, you have to </authentication>
Hot check first if they already exist. Otherwise you will <!-- Deny all unauthorizd access to this application -->

Tip recieve the exception “NullReferenceExeception:


<authorization>
<deny users=”?” />
Object reference not set to an instance of an object.” </authorization>
<!-- Use the URL for storing the session ID if cookies are not
allowed -->
The following code snippet shows how to read the current <!-- Set the session timeout to 30 minutes -->
<sessionState cookieless=”AutoDetect” timeout=”30”></sessionState>
counter value from each of these mechanisms: Next Column ---->
Mechanism Scope Lifetime Base Mechanism Data Type Storing Value Reading Value

View State Single user on a single page Leaving the current page Hidden FIeld “ViewState” Object (any Page.ViewState Page.ViewState
serializable.NET
data type)

Session State Latest interaction of a single Limited number of minutes Cookie (“ASPSessionJD...”) Object. Object Page.Session Page.Session
user with the web page after the last request from or URL Parameter “(S(...))” must be serializable
the user plus server side store (local if the store is not
RAM, RAM on dedicated the local RAM
server or database)

Cookies A single User Closing of the browser or Cookie String Page.Response.Cookies Page.Response.Cookies
dedicated point in time

Application State All users Shutting down the web Local RAM Object Page.Application Page.Application
application

DZone, Inc. | www.dzone.com


6
Core ASP.NET

<!-- Display custom error pages for remote users --> production system and configure the target folder on the
<customErrors mode=”RemoteOnly” defaultRedirect=”GenericErrorPage. production system as an IIS web application (e.g. using the
htm”>
<error statusCode=”403” redirect=”NoAccess.htm” />
IIS Manager). The production web server will automatically
<error statusCode=”404” redirect=”FileNotFound.htm” /> compile the application during the first request and recompile
</customErrors>
automatically if any of the source files changed.
<!-- Turn on debugging -->
<compilation debug=”false”>
However, you can precompile the application into .NET
Figure 8: Typical setting in the web.config file.
assemblies to improve protection of your intellectual property
Please make sure you turn debugging off again and increase execution speed for the first user. Precompilation
Hot before deploying your application as this decreases can be performed through Visual Studio/Visual Web developer
Tip execution performance. (Menu “Build/Publish Website”) or the command line tool
aspnet_compiler.exe.

Deployment Download the “Visual Studio 2008 Web Deployment


Hot Projects” from microsoft.com. This is an Add-In that
ASP.NET applications can be deployed as source code
Tip provides better control over the precompilation
via the so called “XCopy deployment”. This means you process.
copy the whole content of the web project folder to the

ABOUT THE AUTHOR R E C O MM E N D E D B O O K


Holger Schwichtenberg is one of Europe’s best-known experts An in-depth guide to the core
on .NET and Windows PowerShell. He holds both a Master’s features of Web development with
degree and a Ph.D. in business informatics. Microsoft recognizes ASP.NET, this book goes beyond the
him as a Most Valuable Professional (MVP) since 2003. He is a
fundamentals. It expertly illustrates
.NET Code Wise Member, an MSDN Online Expert and an INETA
speaker. He regularly gives high-level talks at conferences such as
the intricacies and uses of ASP.NET
TechEd, Microsoft Summit, BASTA and IT Forum. He is the CEO 3.5 in a single volume. Complete
of the German based company www.IT-Visions.de that provides with extensive code samples and
consulting and training for many companies throughout Europe. code snippets in Microsoft Visual C#
Publicaitions 2008, this is the ideal reference for
Holger Schwichtenberg has published more than twenty books for Addison Wesley developers who want to learn what
and Microsoft Press in Germany, as well as about 400 journal articles. His recent s new in ASP.NET 3.5, or for those
book “Essential PowerShell” has also been published by Addison Wesley in English. building professional-level Web
Blog development skills.
www.dotnet-doktor.de (German)
Website
www.IT-Visions.de/en BUY NOW
books.dzone.com/books/programming-asp-net

Bro
ugh
t to
you
by...

Professional Cheat Sheets You Can Trust


att erns “Exactly what busy developers need:
P nald
ign
cDo
s nM simple, short, and to the point.”
De By Jaso

#8
ired
Insp e
by th
GoF ller con
tinu
ed
ndle
r doe
sn’t
have
to

James Ward, Adobe Systems


ity,
r
E: e ha ndle
il d th e ha
LUD se
nsib
an
B st
e th

Upcoming Titles Most Popular


uest
IN C y po a re
q
uest
with
TS bilit es ndle req ome.
EN
of R
le a
NT onsi sm
ay ha hand tial
outc an
CO esp hen
hain
ject le to oten
of R le ob bject
.
be ab le p rn. W
m

d
Ch a in C ultip ecific o should cep
tab
is p
atte metho e
and n M
an ac ts th e if th
e up th
z.co

m sp cts
n
a e. is en sed

Download Now
Com reter b e je im d m se to
of ob runt le ple ks to e pas code
Use set ined at hand es im e chec ould b
RichFaces Spring Configuration
n
rp n n A ng g un til t
Inte Whe erm not
bei ua
lang e runtim it sh repeats e paren
tor det me or if
a rd

...
n
uest th
in so ethod ception proces e no
s mor
Itera tor ore req
n A ling
dm the e ar

Agile Software Development jQuery Selectors


m ex
dia
n
nd a e k er
Me rver d an to th
e n ha rown in ndle th ll stac until th
re f c

tho nce
ptio th
Exce ion is sm to ha up th tered or
e ca
n

Ob
se Me NS ral

Refcardz.com
te fere in le pt ni ed coun avio
TER
exce mecha n pass
la
k re ted mp Beh
n
p is en
Tem s lis ct-
BIRT Windows Powershell
Exa .
PAT
a
quic
he
has ack. W tion uest to ject
es a s, a cep Ob
it

n
q
IG N id tt ern O bje call
st e ex
le th hand th
e re
S v
! V is

a ,
DE pro ign
p able grams ha nd to
UT ard eus cts
ABO
Patt
erns
refc
r (G
oF)
des of R
ents des cla
ss d
ia
exa
mp
le. obje
Inv
oke
r
JSF 2.0 Dependency Injection with EJB 3
arz

n Fou lem rld h


Des
ig o f s : E c lu w o suc
h is G ang attern tt e rn in a real
b je cts
ng MA
ND Adobe AIR Netbeans IDE JavaEditor
c

T 3 P a d o
al 2 ign ch p on, an uct enti M
ef

g in e s E a s tr le m O d
ori kD re. rma
ti on p C ma
n
boo Softwa to c their im om
BPM&BPMN Getting Started with Eclipse
re R

the info sed Clie


nt
cre
teC
d age s: U from Con
ente on, us er n led ct () ma
nd
Ori ti Patt oup obje
cute Com )
lana +exe
Flex 3 Components Very First Steps in Flex
s
Mo

exp o nal e dec la rge cute


(
is al
low
ch
a ti n b . +exe ct. Th hips su
Cre e y ca to form bjects ,
obje ns
o s as an relatio
t th d
Get

tha : Use p a rate o ri thm ted


trea ct bas
ed
. n s is . e
m e alg objects
b
tter many d to bje
syste P a an a g ce iv er
w in g it na lly o
ral en en Re allo traditi
o
to m betwe
s.
ctu twe sed
uest
req ndled in nt or
der
Stru s be s an sa varia n.

stru
cture
l Pa
s: U
ttern sponsib
ilitie
ship
s th
at c psu
Enca quest
re
late

and
e ha
to b llbacks
ca
.

nalit
y.
riant
times
or in
ling
the
invo
catio
DZone, Inc.
iora , and re
g
a v la tion Pur
pose the
que
uing
k fu
nctio led at va ject
hand ssin
roce to be
Beh nships ct re ISBN-13: 978-1-934238-49-3
ob p
be as ac nd
e ha eded. the
1251 NW Maynard
llb us y
o b je c a n ed ca to b from rono tionalit y need
ith o
ne ch
that
ti ne ed s is d
You le asyn func an
rela ls w ips sts ne quest
Reque y of re
n

be de
coup
ate
the rn the without n it is ar
Dea e. nsh cilit d patte ssing entatio particul

Sco
pe:
ntim s re
latio pe
Use
n A hist
or
voke
r sh
ould
n
to fa
used e comm
an ce
pro implem ents its ting. ISBN-10: 1-934238-49-X
Cary, NC 27513
Whe for
toty
n
ec
clas The in ely al m
ject ed at ru Pro wid th
are utilizing a job q of the
ueue actu d imple
ue is
exp
Ob with
n
C ues ue
g que the que
n ls
50795
y to e
h a ea e. xy q ue s. B en d g en
be c e: D ile tim Pro Job orithm be giv knowle that is terface
cop r S g n ct in
p rato er mp
le of al ed ca to have d obje of the
ss S at com Deco serv Exa ut an nes
888.678.0399
.com

Ob exec e queue comm


Cla d S B th e confi
nge de leto
n for
king
. Th
ithin
the
cha tory Faca od Sing invo hm w

DZone communities deliver over 4 million pages each month to Meth


Fac S C algo
rit
ract
one

tory
C
Abst

Ada
pte
r C
Fac

Flyw
eigh
t B
State

Stra
teg
y
od
919.678.0300
z

S S
ter B Meth
w. d

more than 1.7 million software developers, architects and decision S


Brid
ge

er
B
Inte
rpre

tor
B
Tem
plate

or Refcardz Feedback Welcome


ww

Build B
Itera Visit
C r B
$7.95

f diato
makers. DZone offers something for everyone, including news, B
in o
Cha nsibili
Resp
o
d
ty
B
Me

Me
men
to
Ob
ject
Beh
avio
ral
refcardz@dzone.com
man B
C om

tutorials, cheatsheets, blogs,ONfeature Y


articles, source code and more.
B
te
ILIT
SIB S
Com
posi
P succ
ess
or
Sponsorship Opportunities
“DZone is a developer’s
CH
AIN dream,” says PC Magazine.
OF
RES
>> sales@dzone.com
9 781934 238493
ace
terf r
<<in andle ()
H
uest

Version 1.0
req
a ndle
Copyright © 2009 DZone, Inc. All rights reserved.
nt No part of this publication dle
r 2 may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical,
+ h
Clie Han
ete
photocopying, or otherwise, without prior written permission of Cthe
oncr publisher.
req
uest
() Reference: Programming Microsoft ASP.NET 3.5, Dino Esposito, Microsoft Press, 2008
s

ndle
+ha
tern

r 1 king m
y lin .c o
ndle st b
teH
a
req
ue z one
cre () le a w.d
Con req
uest
y to
hand | ww

Vous aimerez peut-être aussi