Skip to main content

ASP.Net Tutorials For Beginners

ASP.NET is a development framework for building web pages and web sites with HTML, CSS, JavaScript and server scripting.
ASP.NET supports three different development models. They are
1. Web Pages,
2. MVC (Model View Controller)
3. Web Forms
ASP.Net Tutorials For Beginners

Web Pages:
Single Pages Model                        
Simplest ASP.NET model.
Similar to PHP and classic ASP.
Built-in templates and helpers for database, video, graphics, social media and more.


MVC(Model View Controller):
MVC separates web applications into 3 different components:
Models for data
Views for display
Controllers for input


Web Forms:
Event Driven Model
The traditional ASP.NET event driven development model:
Web pages with added server controls, server events, and server code.

Features of ASP.Net:
1.       ASP.NET is a new ASP generation. It is not compatible with Classic ASP, but ASP.NET may include Classic ASP.
2.       ASP.NET pages are compiled, which makes them faster than Classic ASP.
3.       ASP.NET has better language support, a large set of user controls, XML-based components, and integrated user authentication.
4.       ASP.NET pages have the extension .aspx, and are normally written in VB (Visual Basic) or C# (C sharp).
5.       User controls in ASP.NET can be written in different languages, including C++ and Java.
6.       When a browser requests an ASP.NET file, the ASP.NET engine reads the file, compiles and executes the scripts in the file, and returns the result to the browser as plain HTML.


Benefits of Asp.Net
  1. Asp.Net makes development simple and easy to maintain with event-driven and server side programming model.
  2. Asp.Net source code is executed on the server. The source code is complied first time the page is requested. The server serves the complied version of the page for use next time the page is requested.
  3. Asp.Net provides validations controls.
  4. The html produced by Asp.Net is sent back to the browser. The application code that we write is not sent back to the browser and is not stolen easily.
  5. In Asp.Net business logic(in .cs class file) and presentation logic(in .aspx file) are in separate files.

Asp .Net Page Life Cycle Events:
At each stage of the page life cycle, the page raises some events, which could be coded. An event handler is basically a function or subroutine, bound to the event, using declarative attributes like Onclick or handle. Asp.Net 3.5 & 4.0 page life cycle has following events in sequence :

1. PreInit
It is is entry point of page life cycle. It checks IsPostBack property to check or recreate dynamic controls. In this we can set master pages dynamically & set and get profile property values.

2.Init
It is is raised after all controls of page are initilised and skin properties are set. It is used to read or initialise control properties.

3.InitComplete
This indicates that page is completely initialised.

4.Preload
This event is called before loading the page in the RAM(memory). If any processing on a control or on page is required we use it.

5.Load
This invokes the onload event of the page. In this we create connection to the database, get/set controls values and get/set view state values.

6.LoadComplete
This indicates that page is completely loaded into memory.

7.Prender
we use this event to make final changes to the controls or page before rendering it to the browser.

8.SaveStateComplete
View state of each control is saved before this event occurs. If we want to change the view state of any control then we use this event. This event can not be used to change the other properties of the controls.

9.Render/PrenderComplete
This indicates that page is completely rendered to the browser.Before rendering, view state is saved for the page and all controls. During the rendering stage, the page calls the Render method for each control, providing a text writer that writes its output to the OutputStream object of the page's Response property.

10.Unload
The Unload event is raised after the page has been fully rendered, sent to the client, and is ready to be discarded. At this point, page properties such as Response and Request are unloaded and cleanup is performed.We can use this event for closing files & database connection. This event occurs for each control.


ASP.NET Web Server Controls
Controls are small building blocks of the graphical user interface, which includes text boxes, buttons, check boxes, list boxes, labels and numerous other tools, using which users can enter data, make selections and indicate their preferences.
Controls are also used for structural jobs, like validation, data access, security, creating master pages, data manipulation.
ASP.Net uses fourtypes of web controls, which are:

1.HTML server controls  
HTML elements exposed to the server so you can program them. HTML server controls expose an object model that maps very closely to the HTML elements that they render.

2. Web server controls  
Controls with more built-in features than HTML server controls. Web server controls include not only form controls such as buttons and text boxes, but also special-purpose controls such as a calendar, menus, and a tree view control. Web server controls are more abstract than HTML server controls in that their object model does not necessarily reflect HTML syntax.

3.Validation controls  
Controls that incorporate logic to enable you to what users enter for input controls such as the TextBox control. Validation controls enable you to check for a required field, to test against a specific value or pattern of characters, to verify that a value lies within a range, and so on. For more information, see ASP.NET Validation Controls.

4.User controls  
Controls that you create as ASP.NET Web pages. You can embed ASP.NET user controls in other ASP.NET Web pages, which is an easy way to create toolbars and other reusable elements. For more information, see ASP.NET User Controls

Web Server Controls
Like HTML server controls, Web server controls are also created on the server and they require a runat="server" attribute to work. However, Web server controls do not necessarily map to any existing HTML elements and they may represent more complex elements.
The syntax for creating a Web server control is:
<asp:control_name id="some_id" runat="server" />

Web Server Control
Description
Displays a sequence of images
Displays a push button
Displays a calendar
A day in a calendar control
Displays a check box
Creates a multi-selection check box group
DataGrid
Displays fields of a data source in a grid
DataList
Displays items from a data source by using templates
Creates a drop-down list
Creates a hyperlink
Displays an image
Displays a clickable image
Displays static content which is programmable (lets you apply styles to its content)
Creates a hyperlink button
Creates a single- or multi-selection drop-down list
Creates an item in a list
Displays static content which is programmable(does not let you apply styles to its content)
Provides a container for other controls
Reserves space for controls added by code
Creates a radio button
Creates a group of radio buttons
Creates a list in bullet format
Repeater
Displays a repeated list of items bound to the control
Sets the style of controls
Creates a table
Creates a table cell
Creates a table row
Creates a text box
Displays an XML file or the results of an XSL transform

Validation Controls in ASP.Net

We can easily validate the user input by using ASP.NET validation controls. It provides an easy to use mechanism for all common types of standard validation. This validation controls can be used with HTML and Web Server controls. Six validation controls are available with ASP.NET as of now, they are as follows.

The RequiredFieldValidator Control - Ensures that the user does not skip a mandatory entry field .

The CompareValidator Control – Compares one controls value with another controls value, constants and data type using a comparison operator (equals, greater than, less than, and so on).

The RangeValidator Control - Checks the user's input is in a given range (eg: numbers or characters).

The RegularExpressionValidator Control - Checks that the user's entry matches a pattern defined by a regular expression. 

The CustomValidator Control - Checks the user's entry using custom-coded validation logic.

The ValidationSummary Control - Displays a summary of all validation errors inline on a web page, in a message box, or both.

All validation controls except ValidationSummary are used to validate the user input, whereas the ValidationSummary control is just used to display the entire validation error messages in a particular area. This error list can be printed in the browser and or displayed as a dialogue box. The CustomValidator allows you to implement your own validations. By using CustomValidator you can perform complex validations or you can validate the data from the database etc.

Validation Controls Common Properties and Methods

Apart from standard Font and other Formatting properties, the controls derived from BaseValidator class have the following properties in common.

ControlToValidate – ID of the control which we are going to validate. The control must be developed using ValidatioPropertyAttribute. So if you develop any user control that may require validation then add this attribute to your control class. Read More on ValidatioPropertyAttribute from MSDN.   

Display – Display behavior of the error message in validation control, possible values are “None”, “Static”, ”Dynamic”. This property is explained in coming section.
None - The validation message is never displayed.
Static - The control displays an error message if validation fails. Space for the validation message is allocated in the layout of the page even if the input passes validation. 
Dynamic - The control displays an error message if validation fails. Space for the validation message is dynamically added to the page if validation fails. (If client-side validation is not active Static and Dynamic behave the same way).

EnableClientScript – Use this property to enable or disable client-side validation.

Enabled – Use this property to enable or disable the validation control. If this property is set to false then it will prevent validation being performed.

ErrorMessage – Error message displayed in a ValidationSummary control when validation fails.

Text – Error Message displayed in the validation control when validation fails. I have given another section on Difference between Text and ErrorMessage property.

SetFocusOnError – Boolean value used to set focus to the control mentioned in the ControlToValidate when validation fails.

ValidationGroup – The name of the validation group to which this validation control belongs, Detailed explanation is given in another section.

IsValid – Boolean value that indicates the validation status. 

ASP.NET - State Management:
HTTP ( Hyper Text Transfer Protocol) is a stateless protocol. When the client disconnects from the server, the ASP.Net engine discards the page objects. This way each web application can scale up to serve numerous requests simultaneously without running out of server memory.
However, there need to be some technique to store the information between requests and to retrieve it when required. This information i.e., the current value of all the controls and variables for the current user in the current session is called the State.

ASP.Net manages four types of state:
1.       View State
2.       Control State
3.       Session State
4.       Application State

View State:
The View State is the state of the page and all its controls. It is automatically maintained across posts by the ASP.Net framework.
When a page is sent back to the client, the changes in the properties of the page and its controls are determined and stored in the value of a hidden input field named _VIEWSTATE. When the page is again post back the _VIEWSTATE field is sent to the server with the HTTP request.
The view state could be enabled or disabled for:
The entire application - by setting the EnableViewState property in the <pages> section of web.config file
A page - by setting the EnableViewState attribute of the Page directive, as <%@ Page Language="C#" EnableViewState="false" %>
A control - by setting the Control.EnableViewState property.

Control State:
Control state cannot be modified, accessed directly or disabled.

Session State:
When a user connects to an ASP.Net website, a new session object is created. When session state is turned on, a new session state object is created for each new request. This session state object becomes part of the context and it is available through the page.
Session state is generally used for storing application data like inventory or supplier list, or a customer record or shopping cart. It can also keep information about the user and his preference and keep track of pending operations.
Sessions are identified and tracked with a 120-bit SessionID, which is passed from client to server and back as cookie or a modified URL. The SessionID is globally unique and random.
The session state object is created from the HttpSessionState class, which defines a collection of session state items.

Application State
An ASP.Net application is the collection of all web pages, code and other files within a single virtual directory on a web server. When information is stored in application state, it is available to all the users.
To provide for the use of application state, ASP.Net creates an application state object for each application from the HTTPApplicationState class and stores this object in server memory. This object is represented by class file global.asax.

Application State is mostly used to store hit counters and other statistical data, global application data like tax rate, discount rate etc and to keep track of users visiting the site.


Events:

ASP.NET is an event-driven way of making web applications. With PHP and Classic ASP, you have one file, which is executed line after line, from start to end. However, ASP.NET is very different. Here we have events, which are either activated by the user in one way or another. In the previous example, we used the Page_Load method. Actually, this is an event, which the Page class calls when the page is loaded. We will use the same technique in the next example, where we will add a couple of controls to our simple hello world example. To make it a bit more interesting, we will change the "world" word with something defined by the user. Have a look at this codelisting, where we add two new controls: A Button control and a TextBox control.

<form id="form1" runat="server">
<div>
    <asp:Label runat="server" id="HelloWorldLabel"></asp:Label>
    <br /><br />
    <asp:TextBox runat="server" id="TextInput" /> 
    <asp:Button runat="server" id="GreetButton" text="Say Hello!" />
</div>
</form>

As you can see, we now have the 2 new controls added, but they really can't do much at the moment. You can run the example if you wish to check this out for your self - if you click the button, the page is simply reloaded. Let's change that, and let's start by doing it the easy way. VS comes with a WYSIWYG editor, and while I hardly ever use it my self, it does make some things easier, like creating events.

So, click the Design button in the bottom of VS. Now you will see a visual representation of our page. We wish to add a Click event to the button, and this is very simply - just doubleclick the GreetButton, and you will be taken to the CodeBehind file of our page. As you can see, a fine new method has been added, called GreetButton_Click. If you have a look at the Default.aspx file (you need to go from Design view to Source view), you will see that an attribute has been added to our Button control, telling which method to call when the button is clicked. All this work done with a simple doubleclick.

Now lets add some code to our new event. We wish to use the text from the TextBox, on our good old Label with the "Hello, world!" text. This is also very simple, and all it requires is a single line of code:
HelloWorldLabel.Text = "Hello, " + TextInput.Text;

Run the project again (F6), and you will see the our old page with a couple of new controls. The "Hello, world!" text is still there, because we set it in the Page_Load event. Now try entering a name in the textbox, and press the button. Voila, the text is changed, and we have just used our first control event. Notice how we can add code which is not necessarily called unless the user performs a specific task. This is different from the good old Classic ASP/PHP approach, but you will soon get used to it, and you will probably also come to like it a lot!


Comments

Popular posts from this blog

Sort Dictionary Based On Value In Asp.Net And C#.Net | Convert Dictionary into KeyValuePair or KeyValuePair into Dictionary.

In this tutorial i am going to explain about how to sort dictionary object based on value in asp.net and C#.Net or convert unsorted dictionary to sorted dictionary object in C#.Net and VB.Net or Convert Dictionary into KeyValuePair or KeyValuePair into Dictionary.

Code To Convert rupees(numbers) into words using C#.Net

Introduction: In my previous article I have explained about how to validate emailid using javascript . In this article I am going to explain about code used to convert rupees(numbers) into words using C#.Net . Explanation: For explanation purpose I have a page. It has a textbox to input the numbers. And when you click on the convert to words button then it will convert the input numbers into words and shows it in the below label. Below is the C# code used to do this functionality. public static string NumbersToWords( int inputNumber) {     int inputNo = inputNumber;     if (inputNo == 0)         return "Zero" ;     int [] numbers = new int [4];     int first = 0;     int u, h, t;     System.Text. StringBuilder sb = new System.Text. StringBuilder ();     if (inputNo < 0)     {         sb.Append( "Minus " );         inputNo = -inputNo;     }     string [] words0 = { "" , "One " ,

C# code to send mail using smtp from gmail,yahoo mail and live mail

Introduction: In my previous article I have explained about   How to bind/Unbind events in jQuery . In this article I am going to explain about how to send mail from ASP.Net using gmail,yahoomail and live mail credentials. Explanation: First Include the below namespaces in your code behind file. using System; using System.Net; using System.Net.Mail;