Avatar billede ha9953 Nybegynder
05. november 2003 - 16:12 Der er 7 kommentarer og
1 løsning

Nybegynder custom controls

Davs

Jeg er gået i gang med at lege lidt med custom controls i asp.net

Til at starte med vil jeg gerne oprette min egen dropdownlist, der kan bruges igen og igen.Dden skal fra starten automatisk udfyldes med ja og nej (meget simpel)

Jeg har lavet følgende dropdown.vb:

Option Explicit
Option Strict

Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections

Namespace dropdown

Public Class dropdownJaNej : Inherits System.Web.UI.WebControls.DropDownList



End Class

End Namespace

så lang så godt.

Har også fået oprettet en bin-mappe i roden af sitet og har endda (!!) kombileret ovenstående fil.

Når jeg i en aspx fil skriver følgende:

<kontrol:dropdown  runat=server/>

får jeg da også vist en tom dropdownlist.

Mit ? er nu:

a) Hvad skal jeg skrive i filen dropdown.vb for at få udfyldt min dropdownlist med ja/nej

b) hvis jeg nu vil overføre et parametre til dropdown.vb og bruge dette (f.eks at nej skal være markeret fra start), hvad skal jeg så skrive i <kontrol:dropdown  runat=server/> og i filen dropdown.vb

Håber i kan forstå ovenstående. Det er sikkert ikke en videre smart løsning, men der er mere for at få forståelsen med opbygningen af custom usercontrols
Avatar billede midas_dk Nybegynder
05. november 2003 - 18:21 #1
a)Hvad med

Dim li1 As New ListItem("Ja")
Dim li2 As New ListItem("Nej")

Me.Items.Add(li1)
Me.Items.Add(li2)

b) Så skal du tilføje den property til din klasse. Hvis du f.eks. siger

Dim blnSelect As Boolean

Public WriteOnly Property StartSelection()
  Set(ByVal Value)
    blnSelect = Value
  End Set
End Property

- burde du kunne skrive <kontrol:dropdown StartSelection="False" runat=server/>
Avatar billede midas_dk Nybegynder
05. november 2003 - 18:23 #2
- hovsa. Linjen

Public WriteOnly Property StartSelection()

skal naturligvis være

Public WriteOnly Property StartSelection() As Boolean
Avatar billede ha9953 Nybegynder
05. november 2003 - 18:30 #3
Tak for svaret

men min dropdwinlist er tom. dropdown ser sådan ud nu:

Option Explicit
Option Strict

Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections

Namespace dropdown

Public Class dropdownJaNej : Inherits System.Web.UI.WebControls.DropDownList

    Dim li1 As New ListItem("Ja")
    Dim li2 As New ListItem("Nej")

    Sub Page_Load(Source As Object, E as EventArgs)
        If not Page.IspostBack then

            Me.Items.Add(li1)
            Me.Items.Add(li2)
        end if
    End Sub   

End Class

End Namespace
Avatar billede midas_dk Nybegynder
05. november 2003 - 18:36 #4
Du laver altså ikke en Page_Load inden i en DropDownList...

Den bliver garntrisse aldrig udført.

Lav en

Public Sub New()
  Me.Items.Add(li1)
  Me.Items.Add(li2)
End Sub

i stedet.
Avatar billede ha9953 Nybegynder
05. november 2003 - 18:38 #5
Som sagt: total nybegynder med User controls :-)

Men nu virker det - takker
Avatar billede ha9953 Nybegynder
05. november 2003 - 18:38 #6
til midas.dk - fik du dine point? - ellers så lav lige te var igen
Avatar billede midas_dk Nybegynder
05. november 2003 - 18:38 #7
Det var så lidt... ;-)
Avatar billede midas_dk Nybegynder
05. november 2003 - 18:39 #8
Jo tak, jeg har fået!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester