Hop til teksten

IT FJERNUNDERVISNING
- IT kurser når Du har tid!

Genbrug af kode

Der er to metoder til genbrug af kode i ASP.NET

  • User controls
  • Custom controls

Custom controls

Er ren kode der kompileres til dll filer. Området ligger ligger uden for rammerne af dette kursus.

User controls

er lettere at gå til. Man opretter en User control ved at vælge den som filtype når man opretter en ny fil

Som man ser ligner det en almindelig ASP.NET fil - den har bare fået et nyt efternavn: .ascx

Når man har oprettet filen kan man fylde indhold og kode på siden, som man har lyst til.

Anvendelse af usercontrol

Når man skal bruge en userkontrol på en side er proceduren følgende

  1. Åben den side kontrollen skal være på
  2. Find kontrollen i Solution Explorer ude til højre
  3. Træk kontrollen ind på siden og slip den der, hvor du vil have den

Prøv at skifte til html visning og se hvordan kontrollen lægges ind på siden.

Tilføjelse af egenskaber til en custom control

Det er også muligt at tilføje egenskaber til en usercontrol, så man kan hente værdier ind og ud af kontrollen. Nedenfor er vist et lille eksempel, hvor der flyttes en værdi ind i kontrollen - først selve kontrollen og dernæst den kode der kalder den. Bemærk, at koden her forudsætter, at der er indsat en label på userkontrollen, der hedder lblHilsen

    public string Hilsen
    {
        get { return (string)ViewState["Hilsen"];}
        set { ViewState["Hilsen"] = value; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        lblHilsen.Text = Hilsen;
    }
    Public Property Hilsen() As String
        Get
            Return ViewState("Hilsen")
        End Get
        Set(ByVal value As String)
            ViewState("Hilsen") = value
        End Set
    End Property


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        lblHilsen.Text = Hilsen
    End Sub

Når man har indsat userkontrollen på en side kan man udnytte egenskaben på to måder.

Hvis man skifter til html visning på den side der bruger kontrollen, kan man tilføje den hilsen man vil sende til kontrollens html:

<uc1:Footer id="Footer1" runat="server" Hilsen="Hej med dig"></uc1:Footer>


En anden mulighed er at give egenskaben værdi inde fra koden til den side der bruger kontrollen.

    protected void Page_Load(object sender, EventArgs e)
    {
        Footer1.Hilsen = "Hej igen";
    }
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Footer1.Hilsen = "Hej igen"
    End Sub

Dynamisk tilføjelse af en user control

Page.FindControl("Form1").Controls.Add(LoadControl("Menu2.ascx"))

Når du har betalt for kurset får du adgang til øvelser til hver lektion. Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.