Softsmith Infotech
.NetTable 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
Softsmith Infotech
Working with Master Pages
• 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.
Softsmith Infotech
Themes and Skins
• 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
Softsmith Infotech
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.
Softsmith Infotech
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.
Softsmith Infotech
Namespaces• 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
Softsmith Infotech
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
Softsmith Infotech
Collections
• 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
Softsmith Infotech
ArrayList
• 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
Softsmith Infotech
SortedList• 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
Softsmith Infotech
Data Binding
• 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
Single Value Data Binding
• Applicable for server controls that displays one data at a time
• Controls like– Textbox– Label
Softsmith Infotech
Multi 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
Softsmith Infotech
Data Management with ADO.Net
• 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
Softsmith Infotech
Data Management
• 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
Connection
• 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;”
Softsmith Infotech
Connection Methods
• 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
Softsmith Infotech
Command
• 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
Softsmith Infotech
DataReader
• 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
Softsmith Infotech
DataAdapter
• 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
Softsmith Infotech
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.
Softsmith Infotech
Working with XML
• 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
Opening an XML
• System.Xml namespace is required
• Opening from an URLXmlDocument 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();
Softsmith Infotech
Reading the XML document
• 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
Softsmith Infotech
Example
• 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);
}
Softsmith Infotech
Writing XML
• 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);
Softsmith Infotech
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>
Softsmith Infotech
XmlReader and XmlWriter
• XmlReader – To read an XML file
• XmlWriter – To write Xml to a file (creating xml)
• XmlReaderstring filename=@"books.xml";
XmlTextReader bookXmlReader = new XmlTextReader (filename);
• XmlWriterstring fileName = @"booksnew.xml";
XmlTextWriter bookXmlWriter = new XmlTextWriter(fileName,null);
Softsmith Infotech
XmlReader Examplepublic 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); }
}
Softsmith Infotech
XmlWriter Examplepublic 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>
Top Related