1 / 48

ASP.NET

ASP.NET. User Controls. Som SSI i html Extension .ascx Inga html eller body taggar Inkluderas i aspx-sidor Kan innehålla webserverkontroller och hantera data mellan aspx och ascx-sidorna. User Controls – bra till:. Sidhuvud/sidfot Navigeringsmenyer …. User Controls – sidfot.aspx:. <tr>

maddy
Download Presentation

ASP.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP.NET

  2. User Controls • Som SSI i html • Extension .ascx • Inga html eller body taggar • Inkluderas i aspx-sidor • Kan innehålla webserverkontroller och hantera data mellan aspx och ascx-sidorna

  3. User Controls – bra till: • Sidhuvud/sidfot • Navigeringsmenyer • …

  4. User Controls – sidfot.aspx: <tr> <td > Tillämpad fysik och …<br> Databasteknik och Web, 5p </td> <td> <img … > </td> </tr>

  5. UC använd sidfot.ascx: Längst upp på sidan: <%@ Register Tagprefix="di" TagName="fot" src="sidfot.ascx" %> Man registrerar komponenten, med prefix, namn och källfil

  6. UC använd sidfot.ascx: I aspx-koden: <table> <di:head runat=”server”/> … <di:fot runat="server" /> </table>

  7. UC vidare lyx: • Baka in webserverkontroller • Publika egenskaper i scriptdelen – Set/Get-kommandon • Dessa återkommer i kontrollens asp.net-kod i ascx-filen • Och i aspx-filen som vanliga egenskaper typ: <di:header backcolor=”beige”>

  8. Custom Controls • Är egentligen en VB-klass eller C#… • Kompileras och lägges i assembly cache • Har som UC egenskaper och tillstånd • Bra övning för att programmera VB.Net eller C#.Net och blanda med Asp.Net • Se tutorial: Custom Control där även ViStudio.Net är med på ett hörn

  9. Server-Side Include (SSI) • Inkluderad fil • Återanvända kod • Tex sidhuvud/sidfot • Överblick • Lätt att redigera kod

  10. Inkludera fil • Fysiska sökvägen • <!--#include file=”filnamn”--> • Virtuell sökväg • <!--#include virtual=”filnamn”-->

  11. Exempel SSI • Huvud.aspx <img src="hej.bmp" alt="bild från inkluderad fil"><br> Detta är skrivet i en inkluderadfil <a href="http://www.tfe.umu.se">en fin fin länk</a><p> • Index.aspx <script language="VB" runat="server"> sub Page_Load(obj as object, e as eventargs) 'gör något end sub </script> <html><body> <!--#include virtual="huvud/huvud.aspx"--> Hej hopp nu då </body></html>

  12. Code Behind • Ett av sätten att skilja UI från logik, t.ex. html-kod från VB-kod • Stöds av ViStudio.net - man lämnar scriptblockstekniken (code render block) • Hanteras som objekt

  13. Inte Code Behind En .aspx-sida: Scriptblock Html-kod

  14. Code Behind VB eller C#-kod .vb eller c#-sida: .aspx-sida: HTML och ASP.NET Koden kompileras precis som för ”vanlig” inbäddad kod. Det blir alltså ingen prestandahöjning med Code Behind!

  15. Code Behind i ViStudio.net 1. Skriv aspx-koden, eller lägg ut objekten via toolboxen. 2. Klicka på knappar, sidan m.m. för att komma åt bakomliggande koden. Man kan också växla till den med ”Solution Explorer”. Ställ den i läget ”View all files” 3. Kör ”Build” för att kompilera koden. 4. Gå till aspx-sidan (läge html) och klicka på ”View i browser”-knappen.

  16. Code Behind - i ViStudio.net 5. Alternativt, välj aktuella aspx-filen välj ”Set as start page”. 6. Tryck F5.

  17. Code Behind – detaljer aspx: <%@ Page Language="vb" AutoEventWireup="false" Codebehind=”Ex2.aspx.vb" Inherits=”Demo3.Ex2"%>

  18. Detaljer i aspx.vb: Imports System.Data Public Class Ex3: Inherits System.Web.UI.Page Protected WithEvents Label1… Private Sub Page_Load(By…

  19. Byggblocken i .NET • .NET Framework • .NET Enterprise Servers • .NET Building Block Service • Visual Studio.Net

  20. .NET Framework C# VB C++ Jscript … Common Language Specification, CLS Visual Studio.Net ASP.NET WindowsForms ADO.NET XML Base Class Library CLR – Common Language Runtime Windows COM+ Service

  21. Vad händer med koden? MSIL med Metadata Källkod Kompi- lator MSIL = Microsoft Intermediate Language

  22. Vad händer med koden? Metadata Färdigt Program CLR CLR = Common Language Runtime

  23. Om Klasser • Allt behandlas som objekt • Objekten placeras i logiska grupper – Klassbibliotek – här ”Namespaces” (som Java Package)

  24. Vad kan man bygga? • Windows applications – Forms • Windows Forms Control • Windows Service Applications – NT Service • ASP.NET Applications • Web Service

  25. ”MS-skryt” om .NET • Enklare att utveckla applikationer • Stort utbud av klasser • Plattform för XML och WebService • Flera språk i samma miljö • Arbetar tillsammans med COM • Robust, säker driftsmiljö • The End of ”DLL Hell”

  26. Övriga filer i ett ASP.NET projekt • Global.asax • Web.config • /bin-katalogen – assembly cache • Styles.css • Assemblyinfo.vb

  27. Global.asax Körs först av alla filer i ett projekt. T.ex finns det följande händelser: • Application_BeginRequest • Application_AuthenticationRequsest • Application_Error Fler tillämpbara rutiner finns att använda.

  28. Global.asax • Skapa applikation av flera .aspx sidor • Virtuell katalog en applikation • HttpApplication • Objektet som styr ASP.NET-Applikationen • Global.asax skall ligga i rotmappen • Standardiserade namn • Application_Start(obj as abject, e as eventargs)

  29. Web.config • Konfigurerar din webbapplikation. • Ska ligga en i rotkatalogen eller en enklare i underkataloger. (Hierarkisk) • Har olika konfigurationsavsnitt. • Format – XML • Taggar skrivs med ”camelNotation”

  30. Web.config uppbyggnad <configuration> <configSection> Hanterare infogas här </configSection> <system.web> ASP.NET inställningar infogas här </system.web> <system.net> Köregenskaper för .NET infogas här </system.net> </configuration>

  31. Rotkatalog Under katalog Under under-katalog Web.config • Hierarkiskt konfigurationssystem

  32. Web.config -konfigaurationsavsnitt <appSettings><add key=”Namn” Value=”Något..”/> </appSettings> Här kan man lägga textsträngar, t.ex. drivrutiner och sökväg till databas

  33. Web.config -konfigaurationsavsnitt <customErrors defaultRedirect=”x.htm”><error statuscode=”404” redirect=”404fel.htm”> </customErrors>

  34. Web.config -konfigaurationsavsnitt <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <authorization> <!-- Allow Authenticated users --> <deny users="?" /> </authorization> </system.web> </configuration>

  35. .Net -säkerhet Olika steg: • Autentisering • Auktorisering • Pesonifiering

  36. FormulärAutentisering Olika sätt: • Windows, IIS:ens inställningar • Forms, normala för publika sidor • Passport, ?? • None, default

  37. Hur kolla lösenord? Olika sätt: • Lösenord i web.config, kryptering möjlig • Lösenord i kod :) • Lösenord i databas • Lösenord i en xml-fil

  38. Web.config – Vad händer sedan? Normalt sätts en ”Authentication ticket Cookie” som läggs på användarens dator. Den har ett id och man kan välja persistens. (kom ihåg mitt lösenord = persistant = kakan tas inte bort)

  39. \bin - assemblycachen • Samlingscache på svenska • Katalog som innehåller kompilerade filer • Man kan hitta sina klasser genom ”view classes” i ViStudio.net

  40. Styles,css • Stilblad som anger fonter färger m.m.

  41. Assemblyinfo.vb • Innehåller information för den som jobbar med sidorna, versioner, titel, företag, produktnamn o.s.v.

  42. Sessions / Cookies • Session är en variabel som ligger i en container på servern. • Cookie en variabel som ligger på klientdatorns hårddisk. • CookieMunging – för surfare som inte accepterar cookies. Kakan följer med i http-requsten.

  43. Cookies • Lagrar information på användarens HD • Tex. Användarnamn m.m • Request/Response

  44. Skapa en Cookie • Enkel Cookie [VB] Respons.Cookies(”namn”).Value = ”ett värde” [C#] Respons.Cookies[namn].Value = ”ett värde” • Nyckel/värdepar Respons.Cookies(”Multikaka”)(”Namn”) = ”Styrbjörn” Respons.Cookies(”Multikaka”)(”Efternamn”) = ”Järnkvist” [C#] Respons.Cookies[Kaknamn][Nyckelnamn]

  45. Hämta cookie. Expires • Enkel Cookie Namn = Request.Cookies(”namn”).value • Nyckel/värdepar Namn = Request.Cookies(”Multikaka”)(”namn”) Efternamn = Request.Cookies(”Multikaka”)(”Efternamn”) • Expires Response.Cookies(”Multikaka”).Expires = NewDateTime(2002,03,01) Eller Response.Cookies(“Multikaka”).Expires = DateTime.Now.AddMonth(1)

  46. Ex. Använda Cookies <%@ Page Language="VB" %>  <script runat="server">  sub Page_Load(obj as object, e as eventargs) dim strVariabel as string Response.Cookies("Multikaka")("Förnamn") = "Stig" Response.Cookies("Multikaka")("Efternamn") = "Järnkvist" Response.Cookies("Multikaka")("Ålder") = "56år" for each strVariabel in Response.Cookies("Multikaka").Values Label1.Text += "<b>" & strVariabel & "</b>: " & _ Request.Cookies("Multikaka")(strVariabel) & "<br>" next end sub </script> <html><body> <form runat="server"> <asp:Label id="Label1" runat="server"/> </form> </body></html>

  47. Session • Lagrar information om användare på servern • Tex variabler, objekt, strängar • Syntax för session Session.Add(variabelnamn, värde) Eller Session(variabelnamn) = värde

  48. Kontrollera Session • Timeout Session.Timeout = x ’x är tiden i minuter • Session.Abandon

More Related