ASP.Net Presentation Part2

30
Table of contents Introduction to VS 2005 Application and Page Frameworks GUI Controls Validation Server Controls Working with Master Pages Themes & Skins Collections & Lists Data Binding Data Management with ADO.Net Working with XML Site Navigation Security State Management Caching Debugging & Error Handling File I/O & Streams Configurations .Net

Transcript of ASP.Net Presentation Part2

Page 1: ASP.Net Presentation Part2

Table of contents Introduction to VS 2005 Application and Page Frameworks GUI Controls Validation Server Controls Working with Master Pages Themes & Skins Collections & Lists Data Binding Data Management with ADO.Net Working with XML Site Navigation Security State Management Caching Debugging & Error Handling File I/O & Streams Configurations

.Net

Page 2: ASP.Net Presentation Part2

All web application will have a master page or a home page

If we hit a website the default page that comes is the home page

It will have the name index.html or default.aspx or home.html or some thing like that.

From this master page, we navigate to the rest of the pages through buttons or links

To set a page as the master page all we need to do is, just right click on the aspx page in the solution explorer and select “Set as Start Page” from the pop up menu.

Working with Master Pages

Page 3: ASP.Net Presentation Part2

Themes and Skins provide a good look and feel to our site or web application.

We can set the theme using CSS (Cascading Style Sheet)

In the <HEAD> portion of our aspx page if we give <link href=“css path” type=“text/css”

rel=“stylesheet”> then the particular style specified in the CSS will be used for the page

Themes and Skins

Page 4: ASP.Net Presentation Part2

We can also allow the user to change the skin (color of controls on the application) and dynamically deliver the theme and skin on his browser.

This is achieved using session variables. Once the user selects a skin,the value is

stored in a session variable and it will be used for the session.

Themes and Skins

Page 5: ASP.Net Presentation Part2

If the user want the same skin to be applied whenever he logs in, there are two ways to achieve that.◦ Cookies – The information will be stored on the

client’s system and will be taken when he logs in from the system again. But this will work only in a particular system

◦ To make this global, the information need to be stored on the server, in a table against the user name.

Themes and Skins

Page 6: ASP.Net Presentation Part2

Compilation units that let you organize and reuse code

No relationship between namespaces and file structure (unlike Java)

Namespaces provide a way to uniquely identify a type

Provides logical organization of types Namespaces can span over assemblies Namespaces can be nested The fully qualified name of a type includes

all namespaces

Namespaces

Page 7: ASP.Net Presentation Part2

The fully qualified name of a type includes all namespaces Namespaces are mainly used to distinguish between the

objects having same names With-in a namespace, the names of all the objects should

be unique

namespace N1 { // is referred to as N1 class C1 {   // is referred to as N1.C1 class C2 { // is referred to as N1.C1.C2

}    //End of N1.C1.C2 } //End of N1.C1 namespace N2 {  // is referred to as N1.N2 class C2 { // is referred to as N1.N2.C2     } // End of N1.N2.C2 } //End of N1.N2 } //End of N1

Namespaces

Page 8: ASP.Net Presentation Part2

A collection is a specialized class that organizes and exposes a group of objects

Various collection classes are ArrayList, SortedList, BitArray, HashTable, Queue and Stack

They are all included in System.Collections namespace

Like arrays, members of collections can be accessed by an index

Unlike arrays, collections can be resized dynamically

Collections

Page 9: ASP.Net Presentation Part2

Arraylist allows to dynamically add and remove items from a simple list

Array List is a zero based collection The items in the list are retrieved by

accessing the item index Methods

◦ Add()◦ Remove()◦ RemoveAt()◦ Count()

Property◦ Capacity

ArrayList

Page 10: ASP.Net Presentation Part2

Stores elements in the collection as a key-value pair that are sorted by the keys

The elements in the SortedList can be accessed by key as well as by index

A key cannot be a null reference whereas a value can be a null reference

Any time when an element is added or removed from the collection, the indexes are adjusted to keep the list in the sorted order. Hence such operations are slower in this collection

Methods ◦ Add()◦ Remove()◦ RemoveAt()◦ Count()

Property◦ Count, Capacity, Item, Keys, Values

SortedList

Page 11: ASP.Net Presentation Part2

Bounding values to the controls <<Control>>.DataBind() method binds

values for the control Page.DataBind() binds all the controls on

the page Types

◦ Single value data binding◦ Multi value data binding

Softsmith Infotech

Data Binding

Page 12: ASP.Net Presentation Part2

Applicable for server controls that displays one data at a time

Controls like◦ Textbox◦ Label

Single Value Data Binding

Page 13: ASP.Net Presentation Part2

Involves binding server controls to ArrayList or SortedList or any collection object

Example◦ Populating a drop down list with a collection

object or a data set◦ Populating a Data grid with a data set

Multi Value Data Binding

Page 14: ASP.Net Presentation Part2

ADO – ActiveX Data Objects Namespace

◦ System.Data Types

Odbc – For working with MySQL etc OleDb – For working with OLEDB (Excel etc) Sql – For working with MS SQL data bases Oracle – For working with Oracle databases

Data Management with ADO.Net

Page 15: ASP.Net Presentation Part2

Classes used (for Sql)◦ Connection - SqlConnection◦ Command - SqlCommand◦ DataReader - SqlDataReader◦ DataAdapter – SqlDataAdapter

For other database types, we need to put the appropriate prefix.(like OdbcConnection and so on)

Softsmith Infotech

Data Management

Page 16: ASP.Net Presentation Part2

OdbcConnection con = new OdbcConnection(Connection string)

Connection string has details about which database is to be used and what is the user name and password are.

Example – “Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=test; password=sa;user id=root;”

Connection

Page 17: ASP.Net Presentation Part2

Open – Opens a connection Close – Closes a connection

It is recommended to open a connection only if it is needed and close it when it is no longer needed. This would avoid wastage of system resources

Connection Methods

Page 18: ASP.Net Presentation Part2

OdbcCommand cmd = new OdbcCommand(Query, con);

Query – SQL query like “select * from table1”

con is the connection object created Command object property

◦ CommandType – This can be text or stored procedure or table

Command

Page 19: ASP.Net Presentation Part2

OdbcDataReader dr = new OdbcDataReader();

Usage - dr.Method DataReader Methods:

◦ ExecuteReader – For reading one or more rows (for select * from…)

◦ ExecuteScalar – For reading a scalar value like select count(*) from …

◦ ExecuteNonQuery – for inserting or updating or deleting or executing a stored procedure or function

DataReader

Page 20: ASP.Net Presentation Part2

This is for filling data from more than one tables

The data get filled into a DataSet OdbcDataAdapter da = new

OdbcDataAdapter(cmd) cmd – command object created using the

connection and SQL statement This will fetch the result of the command

and stores it in the adapter

DataAdapter

Page 21: ASP.Net Presentation Part2

To put the data in a dataset, use the Fill method

da.Fill(ds) – DataSet ds = new DataSet() We can also have DataTable or DataRow or

DataView instead of DataSet Data adapter automatically opens and

closes a connection. No need of having explicit open and close of a connection.

DataAdapter

Page 22: ASP.Net Presentation Part2

XML – eXtensible Markup Language Uses

◦XML can be used to Store Data ◦XML is used to create configuration files for different applications

◦XML is used to Exchange Data in cross-platform applications

◦Used in Web applications

Softsmith Infotech

Working with XML

Page 23: ASP.Net Presentation Part2

System.Xml namespace is required Opening from an URL

XmlDocument myDoc = new XmlDocument();myDoc.Load ("http://localhost/sample.xml");

Opening from a location in the local systemXmlDocument myDoc = new XmlDocument();FileStream myFile = new FileStream("myDoc.xml",FileMode.Open);

myDoc.Load(myFile);myFile.Close();

Opening an XML

Page 24: ASP.Net Presentation Part2

XmlElement – Class for accessing individual elements in a xml file◦ Attributes, FirstChild, LastChild, InnerText,

InnerXml, Name XmlAttribute – Class for accessing attributes

of the individual xml elements◦ Name◦ Value

Reading the XML document

Page 25: ASP.Net Presentation Part2

To get the name and values of attributes in a xml file

/* Get the Attribute Collection */

XmlAttributeCollection attrs = myElement.Attributes;

/* Get the number of Attributes */

int aCount = attrs.Count;

for (i=0; i< aCount; i++)

{

Console.WriteLine (attrs[i].Name);

Console.WriteLine (attrs[i].Value);

}

Example

Page 26: ASP.Net Presentation Part2

Create XML Document objectXmlDocument myDoc = new XmlDocument();

Load the root elementmyDoc.LoadXml ("<webinar></webinar>");

Create an element and add it to the parent elementXmlElement myChildEle = myDoc.CreateElement(“Topic");myChildEle.InnerText = “Dot Net"; ParentElement.AppendChild (myChildEle);

Writing XML

Page 27: ASP.Net Presentation Part2

Create an attributeXmlAttribute myAttribute = myDoc.CreateAttribute(“Trainer");

myAttribute.Value = “Softsmith";

Add it to Parent elementParentElement.SetAttributeNode (myAttribute);

XML file will be<webinar><Topic Trainer=“Softsmith”>Dot Net</Topic></webinar>

Writing XML

Page 28: ASP.Net Presentation Part2

XmlReader – To read an XML file XmlWriter – To write Xml to a file (creating

xml) XmlReader

string filename=@"books.xml";

XmlTextReader bookXmlReader = new XmlTextReader (filename);

XmlWriterstring fileName = @"booksnew.xml";

XmlTextWriter bookXmlWriter = new XmlTextWriter(fileName,null);

XmlReader and XmlWriter

Page 29: ASP.Net Presentation Part2

public void ReadDocument (XmlReader xmlR){ try {

// read (pull) the next node in document orderwhile (xmlR.Read()) { // print the current node's name & type Console.WriteLine(xmlR.NodeType + " " +

xmlR.Name);}

} catch(XmlException e) {

Console.WriteLine ("Error: " + e.Message); }

}

XmlReader Example

Page 30: ASP.Net Presentation Part2

public void WriteDocument(XmlWriter writer){

writer.WriteStartDocument();writer.WriteStartElement ("Person");writer.WriteAttributeString ("Gender", "Male");writer.WriteAttributeString ("Name", "Abc");writer.WriteElementString ("Phone", "111-222-3333");writer.WriteElementString ("Phone", "111-222-4444");writer.WriteEndElement();writer.WriteEndDocument();writer.Close();

}Output:

<?xml version=“1.0”?><Person><Phone>111-222-3333</Phone><Phone>111-222-4444</Phone>

</Person>

XmlWriter Example