presný čas

ASP.NET

História:

ASP: Active Server Pages (ASP) je preprocesor pre dynamicky generované webové stránky od Microsoftu. Je dostupný ako add-on k produktu Internet Information Services (IIS). Je to technológia nezávislá na programovacom jazyku (vyvinutá spoločnosťou Microsoft), ktorá umožňuje vykonávanie kódu na strane serveru a následné odoslanie výsledku užívateľovi. To znamená, že webová stránka s príponou .asp obsahuje kód, ktorý sa vykoná na IIS serveru a prehliadaču odošle iba výsledok v značkovacom jazyku HTML, ktorý ich bez problémov zobrazí. Programovacie jazyky, ktoré sa používajú sú: VBScript a JScript.
  • ASP verzia 1.0 (IIS 3.0)
  • ASP verzia 2.0 (IIS 4.0)
  • ASP verzia 3.0 (IIS 5.0)

ASP.NET:

Aj keď názov ASP.NET je odvodený od staršej technológie pre vývoj webov ASP, obidve technológie sú veľmi odlišné. ASP.NET je založený na CLR (Common Language Runtime), ktorý je zdielaný všetkými aplikáciami postavenými na .NET Frameworku. Programátori tak môžu realizovať svoje projekty v akomkoľvek jazyku podporujúcom CLR, napr. Visual Basic.NET, JScript.NET, C#, Managed C++, ale aj mutácie Perlu, Pythonu a ďalších. Aplikácie založené na ASP.NET sú rýchlejšie, lebo sú predkompilované do jedného či niekoľkých málo DLL súborov, na rozdiel od čisto skriptovacích jazykov, kde sú stránky pri každom prístupe znovu a znovu parsované.

ASP.NET uľahčuje programátorom prechod od programovania klasických aplikácií pre Windows do prostredia webu: stránky sú poskladané z objektov, ovládacích prvkov (Controls), ktoré sú obdobou ovládacích prvkov vo Windows. Pri tvorbe webových stránok je teda možné používať ovládacie prvky ako tlačidlo (Button), nápis (Label) a ďalšie. Týmto prvkom je možné priraďovať určité vlastnosti, zachytávať na nich udalosti, apod. Tak, ako sa ovládacie prvky pre Windows samy kreslia do formulárov na obrazovku, kompilátor produkuje z webových ovládacích prvkov HTML kód, ktorý tvorí časť výslednej stránky poslanej do klientovho prehliadača.

Výhody ASP.NET oproti ASP

  • vďaka kompilovanému kódu beží aplikácia rýchlejšie a viac chýb je zachytených už pri vývoji,
  • užívateľsky definované ovládacie prvky je možné použiť ako šablóny, čím sa významne redukuje duplicitný kód,
  • podobný prístup ako k aplikáciám pre Windows zjednodušuje prechod od jedného prostredia k druhému,
  • bohatý výber ovládacích prvkov a knižníc veľmi zrýchľuje vývoj aplikácií,
  • programátori majú na výber veľké množstvo programovacích jazykov,
  • schopnosť cachovať celú stránku alebo len jej časť podstatne zvyšuje výkon serveru,
  • dá sa prevádzkovať na rôznych operačných systémoch aj webových serveroch, napr. IIS (Windows), Apache (Windows, Linux s open source implementáciou .NETu Mono).

  • ASP.NET verzia 1.0 súčasť rozhrania .NET Framework
  • ASP.NET verzia 1.1
  • ASP.NET verzia 2.0
  • ASP.NET verzia 3.0
  • ASP.NET verzia 3.5
  • ASP.NET verzia 4.0

Visual Web Developer 2010 Express

nainštalovať ho možete zo stránky ... tu

Direktívy

  • @ Assembly
  • @ Control
  • @ Implements
  • @ Import
  • @ Master
  • @ MasterType
  • @ OutputCache
  • @ Page
kompletny prehľad direktiv a ich popis najdete na msdn stranke

Administrácia

ASP.NET Web Site Administration Tool

ASP.NET Server Controls

Framework ASP.NET zahŕňa viacero vstavaných ovládacích prvkov, ktoré sú vytvorené s cieľom poskytnúť viac štruktúrovaný programovací model pre web. Tento framework taktiež poskytuje možnosť vytvoriť prispôsobené ovládacie prvky ktoré môžu zvýšiť alebo rozšíriť existujúce ovládacie prvky na dosiahnutie bohatšieho používateľského prostredia web aplikácie.
  • HTML Server Controls
  • <textarea id="TextArea1" cols="20" rows="2"></textarea>
  • Web Server Controls
  • <asp:ListBox ID="ListBoxFruits" runat="server"></asp:ListBox>
  • Validation Controls
  • <asp:RegularExpressionValidator ID="regexEmailValid" runat="server" 
    		ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" 
    		ControlToValidate="tbEmail" ErrorMessage="Invalid Email Format">
    		</asp:RegularExpressionValidator>
    		
  • Rich Controls
  • User Controls
	if (!Page.IsPostBack)
            {
                ArrayList arrayList = new ArrayList();
                arrayList.Add("apple");
                arrayList.Add("banana");
                arrayList.Add("pear");
                arrayList.Add("strawberry");
                arrayList.Add("orange");
                this.ListBoxFruits.DataSource = arrayList;
                this.ListBoxFruits.DataBind();
            }

Validation server controls

Je séria nástrojov ktoré pomáhajú overovať vložené dáta od používateľa. Dostupné sú tieto:
  • RequiredFieldValidator
  • CompareValidator
  • RangeValidator
  • RegularExpressionValidator
  • <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RegularExpressionValidator id="RegularExpressionValidator1" 
      runat="server" ControlToValidate="TextBox1" 
      ErrorMessage="You must enter an email address" 
      ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
    </asp:RegularExpressionValidator>
  • CustomValidator
  • ValidationSummary

Global.asax

Tento súbor sa môže a nemusí nachádzať v aplikácii. Obsahuje kód pre applikačné a session eventy vyvolané ASP.NET alebo HTTP modulmy. Nachádza sa v root-e aplikácie a v čase spustenia sa skompiluje do dynamicky generovanej triedy .NET Frameworku odvodenej od HttpApplication triedy. Ľubovoľná priama požiadavka na tento súbor je automaticky zamietnutá, čiže používatelia nemôžu tento súbor spustiť ani stiahnuť.
	protected void Application_Start(object sender, EventArgs e)
        {
        
        }

        protected void Session_Start(object sender, EventArgs e)
        {
        
        }
	protected void Session_End(object sender, EventArgs e)
        {

        }

        protected void Application_End(object sender, EventArgs e)
        {

        }
		

State management

ASP.NET obsahuje niekoľko možností ako zachovávať dáta vrámci stránky i celej aplikácie. Sú to nasledujúce funkcie:
  • View state
  • ViewState["country"] = "Slovakia";
  • Control state
  • Hidden fields
  • Cookies
  • Response.Cookies["UserSettings"]["Color"] = "Blue";
  • Query strings
  • Application state
  • Application["counter"] = 0;
  • Session state
  • Session["name"] = "Janko Mrkvicka";
  • Profile Properties
View state, control state, hidden fields, cookies, a query stringy zaŕňujú ukladanie dát na strane klienta. Na druhej strane application state, session state, a profile properties ukladajú dáta na servri. Každá možnosť má výhody a nevýhody v závislosti na prípade použitia.

Formuláre

Ak chceme odoslať údaje z formulára na inú ASP.NET stránku, tak nám stačí vytvoriť formulár pomocou Web Server Controls tieto sa postarajú o to aby sa zadané údaje poslali pomocou metódy POST na zvolenú stránku na spracovanie. Príklad spracovania a výpisu post request parametrov:
 <form id="form1" runat="server">
        <asp:ListBox ID="ListBoxFruits" runat="server"></asp:ListBox>
        <asp:Button ID="Button1" PostBackUrl="~/WebForm2.aspx" runat="server" Text="Submit" />
</form>
            System.Text.StringBuilder displayValues = new System.Text.StringBuilder();
            System.Collections.Specialized.NameValueCollection
                postedValues = Request.Form;
            String nextKey;
            for (int i = 0; i < postedValues.AllKeys.Length; i++)
            {
                nextKey = postedValues.AllKeys[i];
                if (nextKey.Substring(0, 2) != "__")
                {
                    displayValues.Append("<br>");
                    displayValues.Append(nextKey);
                    displayValues.Append(" = ");
                    displayValues.Append(postedValues[i]);
                }
            }
            this.LabelVars.Text = displayValues.ToString();

Publish project from Microsoft Visual Web Developer 2010

pravý klik na projekt v okne "Solution Explorer" -> Build development package
Pre priklad si zoberme ako nazom aplikacie ktoru sme vytvorili AspTestApp. Potom bude cesta kde najdete .zip subor vyzerat takto:
"Cesta k projektom"\AspTestApp\AspTestApp\obj\Debug\Package\AspTestApp.zip
Tento subor potom pouzijeme v aplikacii "Internet Information Services (IIS) Manager" ktora sa nainstaluje spolu s IIS.

- po otvoreni tejto aplikacie klikneme na prvy uzol v zozname "Connections".
- potom vyberieme Sites
- nasledne vytvorime "Web site" alebo pouzijeme "Default Web Site"
- pravy klik na "Default Web Site"
- vyberieme možnosť Deploy -> Import Application ...
- vyberieme subor .zip s nasou aplikaciou.
- next
- napiseme novu cestu k nasej aplikacii

Úlohy:

  • Vypíšte počet používateľov ktorí majú otvorený session (hitcounter na pocet prihlásených úžívateľov)
  • Vytvorte formulár so vstupmi pre meno, e-mail, heslo a potvrdenie hesla. Overte neprazdnost mena a overenie e-mailu a rovnost a neprazdnost hesla
  • Vytvorte form na odoslanie aspoň troch udajov na inu stranku kde ich vypišete a pridáte aspoň tri servrové premenné

Linky: