Γνωριμία με την ASP.NET 2.0 DI.UOA  •  8 Ιουνίου 2007 Στέλιος Καραμπασάκης • Δημήτρης-Ηλίας Γκανάτσιος
Το συμπαν των Web Development Platforms open source έτος: 1994 | εκδοση: 5.2 Σύνταξη εμπνευσμένη από την C Υποστηρίζει αντικειμενοστραφές μοντέλο Διερμηνευόμενη server-side scripting γλώσσα Sun Microsystems έτος: 1999 | εκδοση: 2.1 Αντικειμενοστραφής σύνταξη, βασισμένη στη Java Μεταγλωττιζόμενος κώδικας  Microsoft έτος: 2002 | εκδοση: 2.0 Προγραμματισμός σε οποιαδήποτε γλώσσα του .NET Αντικειμενοστραφές framework Μεταγλωττιζόμενος κώδικας
Οι πιο συνηθισμένες Web Development Platforms Operating System DBMS Platform Acronym Διείσδυση (NetCraft, Μάϊος 2007) LAMP/WAMP WISA MySQL MS SQL Server any Linux, Windows Windows any Apache IIS Apache Tomcat PHP ASP.NET JSP Web Server 56% 31% 2%
Τι είναι η ASP.NET; Τμήμα του .NET Framework Διάδοχος της ASP  Αντικειμενοστραφές περιβάλλον Component-based Έμφαση στην ταχεία ανάπτυξη εφαρμογών (RAD) Δημιουργία web services  Αφηρημένο προγραμματιστικό μοντέλο
Το μοντέλο των Web Forms Κλασικό μοντέλο  (PHP, ASP Classic κτλ.) Mοντέλο Web Forms  (ASP.NET) 'stateful' programming over a stateless protocol Browser Server Request Response Browser Server State
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
Περιεχόμενα Ρυθμίζοντας το website Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
Δομή του κώδικα ASP.NET Παράδειγμα μιας σελίδας ASP.NET (αρχείο .aspx)
Δομή του κώδικα ASP.NET Παράδειγμα μιας σελίδας ASP.NET (αρχείο .aspx) <!-- Page Directives --> <% @   Page   Language =&quot;C#&quot;  %> <!-- Code Section --> < script   runat =&quot;server&quot;> protected   void   MakeUpper  ( object  sender,  EventArgs  e)  { ResultLabel . Text  =  (InputTextBox . Text) . ToUpper(); } </ script > <!-- Layout --> < html > < head >< title > Sample ASP.NET Page </ title ></ head > < body > < h1 > Convert to Uppercase </ h1 > < form   id =&quot;form1&quot;   runat =&quot;server&quot;> < asp : TextBox   ID =&quot;InputTextBox&quot;   runat =&quot;server&quot;></ asp : TextBox > < asp : Button   ID =&quot;Button&quot;   runat =&quot;server&quot;   Text =&quot;Go&quot;   OnClick =&quot;MakeUpper&quot;/> < hr   /> Results: < br   /> < asp : Label   ID =&quot;ResultLabel&quot;   runat =&quot;server&quot;   Text =&quot;&quot;></ asp : Label > </ form > </ body > </ html >
Διαχωρίζοντας τη λογική από την παρουσίαση page_inline.aspx Χωρίς διαχωρισμό (inline code) <!--Page Directives--> <% @   Page   Language =”C#”  %> <!--Code Section--> < script   runat =”server”> ... </ script > <!--Layout--> < html > ... </ html > page_codebehind.aspx Με διαχωρισμό (code-behind) page_codebehind.aspx.cs public class  page_codebehind  { // Code } <!--Page Directives--> <% @   Page   Language =”C#”  CodeFile =”page_codebehind.aspx.cs” Inherits =&quot;page_codebehind&quot;   %> <!--Layout--> < html > ... </ html >
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
Δημιουργία ενός νέου web site
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
Το Περιβάλλον εργασίας του VS.NET 2005
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
Κατασκευή μιας web form
Κατασκευή μιας web form Βήμα 1: Σχεδιάστε το layout και σύρετε στη φόρμα τα απαραίτητα controls από το Toolbox
Κατασκευή μιας web form Βήμα 2: Προσαρμόστε τα properties των χρησιμοποιούμενων controls
Κατασκευή μιας web form Βήμα 3: Εισάγετε και προσαρμόστε κατάλληλα Validation controls όπου χρειάζεται
Κατασκευή μιας web form Βήμα 4: Γράψτε τον κώδικα των event handlers και συνδέστε τους με τα events που τους πυροδοτούν
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
Postback Ο μηχανισμός του postback είναι η καρδιά του προγραμματισμού στην ASP.NET Κατά τη διάρκεια του postback, το state όλων των controls μιας φόρμας στέλνεται πίσω στον server Τα events της φόρμας πυροδοτούνται μόνο κατά τη διάρκεια ενός postback Εξ'ορισμού το postback στέλνει το state στην ίδια φόρμα που το προκάλεσε (reentrant form), αυτό όμως μπορεί να αλλάξει τροποποιώντας το property PostBackUrl.
Συχνά χρησιμοποιούμενα events
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
Αντικείμενα που χρησιμεύουν  για τη διατηρηση του state Application Χρόνος Ζωής Ορατότητα Session ViewState Χρήση από την εκκίνηση ως τον τερματισμό της  εφαρμογής στον server Καθολική Application.Add(“name”, value); Application.Set(“name”, value) Application.Get(“name”) Application[“name”] από την εκκίνηση ως τη λήξη του  session Σε όλες τις  σελίδες του  session Session.Add(“name”, value); Session[“name”] όσο διαρκεί ο κύκλος ζωής της σελίδας Σε όλα τα requests που ξεκινούν από την ίδια σελίδα ViewState.Add(“name”, value); ViewState[“name”]
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
SQL Server Express 2005 To Visual Studio περιλαμβάνει στην βασική εγκατάσταση τον SQL Server Express, μια ειδική έκδοση περιορισμένων δυνατοτήτων του SQL Server.  Μπορούμε να χρησιμοποιήσουμε SQL databases χωρίς να χρειάζεται να εγκαταστήσουμε την πλήρη έκδοση του SQL Server.
Προσθήκη βάσης δεδομένων σε web site Η επιλογή Add New Item... > SQL Database θα δημιουργήσει ένα νέο database (αρχείο .mdf) κάτω από τον φάκελο App_Data και θα το προσαρτήσει δυναμικά σε κάποιο instance του SQL Server που εκτελείται στο παρασκήνιο Το instance με το οποίο θα γίνει η σύνδεση, καθώς και οι παράμετροι αυτής καθορίζονται από ένα Connection String. π.χ.  “ data source= .\SQLEXPRESS ;Integrated Security= SSPI ; AttachDBFilename= |DataDirectory|aspnetdb.mdf ;User Instance= true ” Το περιβάλλον του VS.NET μας παρέχει εργαλεία για να εργαστούμε με τη βάση δεδομένων table designer table viewer/editor diagram editor ...
Περιεχόμενα Δομή του κώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
Data Source Objects & Databound Controls
Περιεχόμενα Ρυθμίζοντας το website Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
Αρχεία .config machine.config Καθολικές και default ρυθμίσεις για όλα τα websites Βρίσκεται στο path:  %WINDIR%\Microsoft.NET\Framework\<version>\CONFIG web.config Μπορεί να κάνει override τις default ρυθμίσεις του machine.config για κάποιο συγκεκριμένο website Τοποθετείται στον ριζικό κατάλογο του website Δεν είναι απαραίτητο για την εκτέλεση της εφαρμογής Είναι απαραίτητο για το debugging.
ASP.NET Web Site Administration Tool Ένα interface για τις κυριότερες επιλογές του web.config Προσβάσιμο από την επιλογή Website > ASP.NET Configuration Επιτρέπει, μεταξύ άλλων: την ενεργοποίηση/απενεργοποίηση των δυνατοτήτων debugging και tracing τον καθορισμό μιας καθολικής error page για το site την αυτόματη δημιουργία μιας βάσης δεδομένων για λογαριασμούς χρηστών  την διαχείριση των λογαριασμών χρηστών καθώς και των δικαιωμάτων πρόσβασής τους στους πόρους του site
ASP.NET Web Site Administration Tool
Περιεχόμενα Ρυθμίζοντας το website Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
O ενσωματωμένος web server του VS.NET 2005 Σε άλλες πλατφόρμες, για να δοκιμάσουμε την εφαρμογή μας είναι απαραίτητο να διαθέτουμε πρόσβαση σε έναν πλήρως ρυθμισμένο web server, εγκατεστημένο τοπικά ή απομακρυσμένο. Το VS.NET διαθέτει έναν ενσωματωμένο web server περιορισμένων δυνατοτήτων (Cassini). Έτσι, κατά τη φάση της ανάπτυξης και του debugging, δεν είναι απαραίτητο να διαθέτουμε έναν εξωτερικό web server. O Cassini ενεργοποιείται αυτόματα και εξυπηρετεί την εφαρμογή μας κάθε φορά που επιλέγουμε “Start Debugging” (ή πατάμε F5).
O ενσωματωμένος web server του VS.NET 2005 Εξυπηρετεί μόνο αιτήματα που προέρχονται από τον τοπικό υπολογιστή, για λόγους ασφαλείας. Τρέχει σε κάποια non-default θύρα (όχι στην 80 ή στην 8080), για να μην συγκρούεται με τυχόν άλλους εγκατεστημένους web servers. Επιτρέπει την ανάπτυξη web εφαρμογών ακόμα και κάτω από λειτουργικά συστήματα που δεν επιτρέπουν την εγκατάσταση του IIS, όπως Windows XP Home.
Tracing To tracing μας επιτρέπει να παρακολουθήσουμε την πορεία εκτέλεσης της εφαρμογής μας για τους χρήστες που την χρησιμοποιούν. Μας εξυπηρετεί σε περιπτώσεις όπου οι χρήστες αντιμετωπίζουν προβλήματα που δεν μπορούμε να αναπαράγουμε στον υπολογιστή μας Ενεργοποιείται στο web.config ή μέσα από το ASP.NET Configuration Tool Η κληση Trace.Write() μας επιτρέπει να παρεμβάλουμε τα δικά μας μηνύματα στο trace Ζητώντας μέσα από τον browser το αρχείο trace.axd στον ριζικό κατάλογο του site, αποκτούμε πρόσβαση στον Trace Viewer
Trace Viewer
Περιεχόμενα Ρυθμίζοντας το website Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
Master Pages Νέα λειτουργία της ASP .NET 2.0 Ένα Master Page (αρχείο .master) ορίζει το στατικό layout της σελίδας Πολλές σελίδες του ίδιου website μπορούν να μοιράζονται το ίδιο master page Ένα website μπορεί να περιλαμβάνει πολλά master pages Το χρησιμοποιούμενο master page καθορίζεται από το property Page.MasterPageFile Μια σελίδα πρέπει να προετοιμαστεί κατάλληλα για να μπορεί να χρησιμοποιήσει master page όλο το περιεχόμενο μεσα σε <asp:Content> tag όχι <form> tags μέσα στη σελίδα
Περιεχόμενα Ρυθμίζοντας το website Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
Sitemaps Ένα sitemap (αρχείο .sitemap) είναι ένα αρχείο XML που ορίζει τη δομή και την ιεραρχική σχέση μεταξύ των σελίδων του website. Ένα website μπορεί να περιλαμβάνει περισσότερα από ένα sitemaps Τα controls Menu και TreeView μπορούν να γίνουν bind σε ένα sitemap. Εύκολος τρόπος να δημιουργήσουμε το navigation του δικτυακού μας τόπου.
Sitemaps Παράδειγμα αρχείου .sitemap <? xml   version = &quot; 1.0 &quot;   encoding = &quot; utf-8 &quot;  ?> < siteMap   xmlns = &quot; http://schemas.microsoft.com/AspNet/SiteMap-File-1.0 &quot;  > < siteMapNode   url = &quot;&quot;   title = &quot; Menu &quot;   description = &quot;&quot; > < siteMapNode   url = &quot; ~/home.aspx &quot;   title = &quot; Αρχική Σελίδα &quot;   description = &quot;&quot;  /> < siteMapNode   url = &quot; ~/about.aspx &quot;   title = &quot; Πληροφορίες &quot;   description = &quot;&quot;  /> < siteMapNode   url = &quot; ~/contact.aspx &quot;   title = &quot; Επικοινωνία &quot;   description = &quot;&quot; > < siteMapNode   url = &quot; ~/phones.aspx &quot;   title = &quot; Τηλέφωνο &quot;   description = &quot;&quot;  /> < siteMapNode   url = &quot; ~/mailform.aspx &quot;   title = &quot; Email &quot;   description = &quot;&quot;  /> </ siteMapNode > </ siteMapNode > </ siteMap >
Περιεχόμενα Ρυθμίζοντας το website Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
Προχωρημένες Λειτουργίες της ASP.NET Login Controls Stylesheets Skins Themes Localization Personalization & User Profiles Adaptive Rendering Custom Controls Application Data Caching

Γνωριμία με την ASP.NET 2.0

  • 1.
    Γνωριμία με τηνASP.NET 2.0 DI.UOA • 8 Ιουνίου 2007 Στέλιος Καραμπασάκης • Δημήτρης-Ηλίας Γκανάτσιος
  • 2.
    Το συμπαν τωνWeb Development Platforms open source έτος: 1994 | εκδοση: 5.2 Σύνταξη εμπνευσμένη από την C Υποστηρίζει αντικειμενοστραφές μοντέλο Διερμηνευόμενη server-side scripting γλώσσα Sun Microsystems έτος: 1999 | εκδοση: 2.1 Αντικειμενοστραφής σύνταξη, βασισμένη στη Java Μεταγλωττιζόμενος κώδικας Microsoft έτος: 2002 | εκδοση: 2.0 Προγραμματισμός σε οποιαδήποτε γλώσσα του .NET Αντικειμενοστραφές framework Μεταγλωττιζόμενος κώδικας
  • 3.
    Οι πιο συνηθισμένεςWeb Development Platforms Operating System DBMS Platform Acronym Διείσδυση (NetCraft, Μάϊος 2007) LAMP/WAMP WISA MySQL MS SQL Server any Linux, Windows Windows any Apache IIS Apache Tomcat PHP ASP.NET JSP Web Server 56% 31% 2%
  • 4.
    Τι είναι ηASP.NET; Τμήμα του .NET Framework Διάδοχος της ASP Αντικειμενοστραφές περιβάλλον Component-based Έμφαση στην ταχεία ανάπτυξη εφαρμογών (RAD) Δημιουργία web services Αφηρημένο προγραμματιστικό μοντέλο
  • 5.
    Το μοντέλο τωνWeb Forms Κλασικό μοντέλο (PHP, ASP Classic κτλ.) Mοντέλο Web Forms (ASP.NET) 'stateful' programming over a stateless protocol Browser Server Request Response Browser Server State
  • 6.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 7.
    Περιεχόμενα Ρυθμίζοντας τοwebsite Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
  • 8.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 9.
    Δομή του κώδικαASP.NET Παράδειγμα μιας σελίδας ASP.NET (αρχείο .aspx)
  • 10.
    Δομή του κώδικαASP.NET Παράδειγμα μιας σελίδας ASP.NET (αρχείο .aspx) <!-- Page Directives --> <% @ Page Language =&quot;C#&quot; %> <!-- Code Section --> < script runat =&quot;server&quot;> protected void MakeUpper ( object sender, EventArgs e) { ResultLabel . Text = (InputTextBox . Text) . ToUpper(); } </ script > <!-- Layout --> < html > < head >< title > Sample ASP.NET Page </ title ></ head > < body > < h1 > Convert to Uppercase </ h1 > < form id =&quot;form1&quot; runat =&quot;server&quot;> < asp : TextBox ID =&quot;InputTextBox&quot; runat =&quot;server&quot;></ asp : TextBox > < asp : Button ID =&quot;Button&quot; runat =&quot;server&quot; Text =&quot;Go&quot; OnClick =&quot;MakeUpper&quot;/> < hr /> Results: < br /> < asp : Label ID =&quot;ResultLabel&quot; runat =&quot;server&quot; Text =&quot;&quot;></ asp : Label > </ form > </ body > </ html >
  • 11.
    Διαχωρίζοντας τη λογικήαπό την παρουσίαση page_inline.aspx Χωρίς διαχωρισμό (inline code) <!--Page Directives--> <% @ Page Language =”C#” %> <!--Code Section--> < script runat =”server”> ... </ script > <!--Layout--> < html > ... </ html > page_codebehind.aspx Με διαχωρισμό (code-behind) page_codebehind.aspx.cs public class page_codebehind { // Code } <!--Page Directives--> <% @ Page Language =”C#” CodeFile =”page_codebehind.aspx.cs” Inherits =&quot;page_codebehind&quot; %> <!--Layout--> < html > ... </ html >
  • 12.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 13.
  • 14.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 15.
  • 16.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 17.
  • 18.
    Κατασκευή μιας webform Βήμα 1: Σχεδιάστε το layout και σύρετε στη φόρμα τα απαραίτητα controls από το Toolbox
  • 19.
    Κατασκευή μιας webform Βήμα 2: Προσαρμόστε τα properties των χρησιμοποιούμενων controls
  • 20.
    Κατασκευή μιας webform Βήμα 3: Εισάγετε και προσαρμόστε κατάλληλα Validation controls όπου χρειάζεται
  • 21.
    Κατασκευή μιας webform Βήμα 4: Γράψτε τον κώδικα των event handlers και συνδέστε τους με τα events που τους πυροδοτούν
  • 22.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 23.
    Postback Ο μηχανισμόςτου postback είναι η καρδιά του προγραμματισμού στην ASP.NET Κατά τη διάρκεια του postback, το state όλων των controls μιας φόρμας στέλνεται πίσω στον server Τα events της φόρμας πυροδοτούνται μόνο κατά τη διάρκεια ενός postback Εξ'ορισμού το postback στέλνει το state στην ίδια φόρμα που το προκάλεσε (reentrant form), αυτό όμως μπορεί να αλλάξει τροποποιώντας το property PostBackUrl.
  • 24.
  • 25.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 26.
    Αντικείμενα που χρησιμεύουν για τη διατηρηση του state Application Χρόνος Ζωής Ορατότητα Session ViewState Χρήση από την εκκίνηση ως τον τερματισμό της εφαρμογής στον server Καθολική Application.Add(“name”, value); Application.Set(“name”, value) Application.Get(“name”) Application[“name”] από την εκκίνηση ως τη λήξη του session Σε όλες τις σελίδες του session Session.Add(“name”, value); Session[“name”] όσο διαρκεί ο κύκλος ζωής της σελίδας Σε όλα τα requests που ξεκινούν από την ίδια σελίδα ViewState.Add(“name”, value); ViewState[“name”]
  • 27.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 28.
    SQL Server Express2005 To Visual Studio περιλαμβάνει στην βασική εγκατάσταση τον SQL Server Express, μια ειδική έκδοση περιορισμένων δυνατοτήτων του SQL Server. Μπορούμε να χρησιμοποιήσουμε SQL databases χωρίς να χρειάζεται να εγκαταστήσουμε την πλήρη έκδοση του SQL Server.
  • 29.
    Προσθήκη βάσης δεδομένωνσε web site Η επιλογή Add New Item... > SQL Database θα δημιουργήσει ένα νέο database (αρχείο .mdf) κάτω από τον φάκελο App_Data και θα το προσαρτήσει δυναμικά σε κάποιο instance του SQL Server που εκτελείται στο παρασκήνιο Το instance με το οποίο θα γίνει η σύνδεση, καθώς και οι παράμετροι αυτής καθορίζονται από ένα Connection String. π.χ. “ data source= .\SQLEXPRESS ;Integrated Security= SSPI ; AttachDBFilename= |DataDirectory|aspnetdb.mdf ;User Instance= true ” Το περιβάλλον του VS.NET μας παρέχει εργαλεία για να εργαστούμε με τη βάση δεδομένων table designer table viewer/editor diagram editor ...
  • 30.
    Περιεχόμενα Δομή τουκώδικα ASP.NET Δημιουργία νέου website Το περιβάλλον εργασίας του VS.NET 2005 Κατασκευή μιας Web Form Events και Postback Διατηρώντας το state Δημιουργία μιας βάσης δεδομένων Databinding
  • 31.
    Data Source Objects& Databound Controls
  • 32.
    Περιεχόμενα Ρυθμίζοντας τοwebsite Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
  • 33.
    Αρχεία .config machine.configΚαθολικές και default ρυθμίσεις για όλα τα websites Βρίσκεται στο path: %WINDIR%\Microsoft.NET\Framework\<version>\CONFIG web.config Μπορεί να κάνει override τις default ρυθμίσεις του machine.config για κάποιο συγκεκριμένο website Τοποθετείται στον ριζικό κατάλογο του website Δεν είναι απαραίτητο για την εκτέλεση της εφαρμογής Είναι απαραίτητο για το debugging.
  • 34.
    ASP.NET Web SiteAdministration Tool Ένα interface για τις κυριότερες επιλογές του web.config Προσβάσιμο από την επιλογή Website > ASP.NET Configuration Επιτρέπει, μεταξύ άλλων: την ενεργοποίηση/απενεργοποίηση των δυνατοτήτων debugging και tracing τον καθορισμό μιας καθολικής error page για το site την αυτόματη δημιουργία μιας βάσης δεδομένων για λογαριασμούς χρηστών την διαχείριση των λογαριασμών χρηστών καθώς και των δικαιωμάτων πρόσβασής τους στους πόρους του site
  • 35.
    ASP.NET Web SiteAdministration Tool
  • 36.
    Περιεχόμενα Ρυθμίζοντας τοwebsite Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
  • 37.
    O ενσωματωμένος webserver του VS.NET 2005 Σε άλλες πλατφόρμες, για να δοκιμάσουμε την εφαρμογή μας είναι απαραίτητο να διαθέτουμε πρόσβαση σε έναν πλήρως ρυθμισμένο web server, εγκατεστημένο τοπικά ή απομακρυσμένο. Το VS.NET διαθέτει έναν ενσωματωμένο web server περιορισμένων δυνατοτήτων (Cassini). Έτσι, κατά τη φάση της ανάπτυξης και του debugging, δεν είναι απαραίτητο να διαθέτουμε έναν εξωτερικό web server. O Cassini ενεργοποιείται αυτόματα και εξυπηρετεί την εφαρμογή μας κάθε φορά που επιλέγουμε “Start Debugging” (ή πατάμε F5).
  • 38.
    O ενσωματωμένος webserver του VS.NET 2005 Εξυπηρετεί μόνο αιτήματα που προέρχονται από τον τοπικό υπολογιστή, για λόγους ασφαλείας. Τρέχει σε κάποια non-default θύρα (όχι στην 80 ή στην 8080), για να μην συγκρούεται με τυχόν άλλους εγκατεστημένους web servers. Επιτρέπει την ανάπτυξη web εφαρμογών ακόμα και κάτω από λειτουργικά συστήματα που δεν επιτρέπουν την εγκατάσταση του IIS, όπως Windows XP Home.
  • 39.
    Tracing To tracingμας επιτρέπει να παρακολουθήσουμε την πορεία εκτέλεσης της εφαρμογής μας για τους χρήστες που την χρησιμοποιούν. Μας εξυπηρετεί σε περιπτώσεις όπου οι χρήστες αντιμετωπίζουν προβλήματα που δεν μπορούμε να αναπαράγουμε στον υπολογιστή μας Ενεργοποιείται στο web.config ή μέσα από το ASP.NET Configuration Tool Η κληση Trace.Write() μας επιτρέπει να παρεμβάλουμε τα δικά μας μηνύματα στο trace Ζητώντας μέσα από τον browser το αρχείο trace.axd στον ριζικό κατάλογο του site, αποκτούμε πρόσβαση στον Trace Viewer
  • 40.
  • 41.
    Περιεχόμενα Ρυθμίζοντας τοwebsite Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
  • 42.
    Master Pages Νέαλειτουργία της ASP .NET 2.0 Ένα Master Page (αρχείο .master) ορίζει το στατικό layout της σελίδας Πολλές σελίδες του ίδιου website μπορούν να μοιράζονται το ίδιο master page Ένα website μπορεί να περιλαμβάνει πολλά master pages Το χρησιμοποιούμενο master page καθορίζεται από το property Page.MasterPageFile Μια σελίδα πρέπει να προετοιμαστεί κατάλληλα για να μπορεί να χρησιμοποιήσει master page όλο το περιεχόμενο μεσα σε <asp:Content> tag όχι <form> tags μέσα στη σελίδα
  • 43.
    Περιεχόμενα Ρυθμίζοντας τοwebsite Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
  • 44.
    Sitemaps Ένα sitemap(αρχείο .sitemap) είναι ένα αρχείο XML που ορίζει τη δομή και την ιεραρχική σχέση μεταξύ των σελίδων του website. Ένα website μπορεί να περιλαμβάνει περισσότερα από ένα sitemaps Τα controls Menu και TreeView μπορούν να γίνουν bind σε ένα sitemap. Εύκολος τρόπος να δημιουργήσουμε το navigation του δικτυακού μας τόπου.
  • 45.
    Sitemaps Παράδειγμα αρχείου.sitemap <? xml version = &quot; 1.0 &quot; encoding = &quot; utf-8 &quot; ?> < siteMap xmlns = &quot; http://schemas.microsoft.com/AspNet/SiteMap-File-1.0 &quot; > < siteMapNode url = &quot;&quot; title = &quot; Menu &quot; description = &quot;&quot; > < siteMapNode url = &quot; ~/home.aspx &quot; title = &quot; Αρχική Σελίδα &quot; description = &quot;&quot; /> < siteMapNode url = &quot; ~/about.aspx &quot; title = &quot; Πληροφορίες &quot; description = &quot;&quot; /> < siteMapNode url = &quot; ~/contact.aspx &quot; title = &quot; Επικοινωνία &quot; description = &quot;&quot; > < siteMapNode url = &quot; ~/phones.aspx &quot; title = &quot; Τηλέφωνο &quot; description = &quot;&quot; /> < siteMapNode url = &quot; ~/mailform.aspx &quot; title = &quot; Email &quot; description = &quot;&quot; /> </ siteMapNode > </ siteMapNode > </ siteMap >
  • 46.
    Περιεχόμενα Ρυθμίζοντας τοwebsite Debugging & Monitoring Master Pages Sitemaps Προχωρημένες λειτουργίες
  • 47.
    Προχωρημένες Λειτουργίες τηςASP.NET Login Controls Stylesheets Skins Themes Localization Personalization & User Profiles Adaptive Rendering Custom Controls Application Data Caching

Editor's Notes

  • #3 Τρείς είναι οι κυριότερες πλατφόρμες
  • #5 Τμήμα του .NET Framework, δηλαδή - μπορούμε να προγραμματίσουμε σε οποιαδήποτε γλώσσα που υποστηρίζει το .NET, - κερδίζουμε όλα τα πλεονεκτήματα του .NET, όπως τον managed κώδικα - έχουμε στη διάθεση μας ολόκληρη την class library του .NET Διάδοχος της ASP Classic, και διατηρεί προς τα πίσω συμβατότητα με αυτήν Component Based, δηλαδή ολόκληρο το framework είναι οικοδομημένο γύρω από την ιδέα της επαναχρησιμοποίησης και επέκτασης components
  • #25 Τρείς είναι οι κυριότερες πλατφόρμες