|
|||||
|
Velkommen IntroProgrammeringsspog ASP.NET og sprogVB eller C-sharp Udviklingsværktøjer Web-MatrixVisual Studio .NET (VS.NET) Øvelsen Et stopurWeb formularer Tekstbokse, labels og knapperRadioknapper og check bokse Dropdownbokse Variable - i VB.NETDato og tid - hvordan håndteres detKontrolstrukturer Hvad er detDatavalidering Kontroller tilRepetition - er vigtigtDatakontroller Simpel visning af dataDatabaser Visning med datalist og repeaterDropdown kontroller Database opdatering Overførsel af data Genbrug af kode User controlMenu - et eksempel Side templates Komponenter fra nettet Code behind Hvorfor detLav stopuret færdigt NU |
ASP.NET I / Code behind / Hvorfor det
Code behindHvorfor bruger man det??Når man bruger code-behind filer opnår man dels en total adskillelse af kode og design (ren html) og dels at kodedelen kan kompileres. Code behind er ikke specielt godt understøttet af WebMatrix, men det er svært at undgå at bruge det når/hvis man skifter til Visual Studio .NET - lad os se, hvordan det virker.
Hvordan gør man?Jeg har sakset et lille eksempel fra nettet. Der er to dele i sådan en konstruktion: Den almindelige .aspx filDer f.eks. kan se sådan her ud (den hedder WebForm2.aspx): <%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="WebForm2"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>WebForm2 Code-Behind Test</title> </head> <body> <form id="Form1" method="post" runat="server"> <asp:Button id="Button1" runat="server" Text="Button"> </asp:Button> <br /> <br /> <asp:Label id="Label1" runat="server">Label</asp:Label> </form> </body> </html> Kode delenSelve programmeringdelen ligger i en fil for sig selv, der kunne hedde WebForm.aspx.vb og den kunne se sådan her ud: Public Class WebForm2 Inherits System.Web.UI.Page Protected WithEvents Button1 As System.Web.UI.WebControls.Button Protected WithEvents Label1 As System.Web.UI.WebControls.Label Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = "I was clicked at: " & System.DateTime.Now End Sub End Class
Så skulle man tro det virkede men... prøver man vil man få en fejlmelding (prøv selv). Det er fordi koden skal kompileres til en dll, der skal ligge i bin biblioteket på dit web-site. Det gør man kan kommandoen: vbc /t:library /out:bin\WebForm2.dll /r:System.dll /r:System.Web.dll WebForm2.aspx.vb Det kan være smart at kopiere vbc.exe filen til den samme mappe, som har de øvrige filer liggende i eller lave en lille bat fil til kompileringen. Lidt ressourcer fra nettet: |
||||