ASP.Net Presentation Part2
-
Upload
neeraj-mathur -
Category
Technology
-
view
748 -
download
0
Transcript of 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
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
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
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
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
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
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
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
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
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
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
Applicable for server controls that displays one data at a time
Controls like◦ Textbox◦ Label
Single Value Data Binding
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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