300 likes | 317 Views
This guide covers Master Pages, Themes & Skins setup, Namespaces overview, Collections usage, and Data Binding instructions in .Net. Learn how to enhance the look and feel of web applications and manage data effectively.
E N D
.Net 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 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 URL XmlDocument myDoc = new XmlDocument(); myDoc.Load ("http://localhost/sample.xml"); • Opening from a location in the local system XmlDocument 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 object XmlDocument myDoc = new XmlDocument(); • Load the root element myDoc.LoadXml ("<webinar></webinar>"); • Create an element and add it to the parent element XmlElement myChildEle = myDoc.CreateElement(“Topic"); myChildEle.InnerText = “Dot Net"; ParentElement.AppendChild (myChildEle); Softsmith Infotech
Writing XML • Create an attribute XmlAttribute myAttribute = myDoc.CreateAttribute(“Trainer"); myAttribute.Value = “Softsmith"; • Add it to Parent element ParentElement.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) • XmlReader string filename=@"books.xml"; XmlTextReader bookXmlReader = new XmlTextReader (filename); • XmlWriter string fileName = @"booksnew.xml"; XmlTextWriter bookXmlWriter = new XmlTextWriter(fileName,null); Softsmith Infotech
XmlReader Example public void ReadDocument (XmlReader xmlR) { try { // read (pull) the next node in document order while (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 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> Softsmith Infotech