Avatar billede websam Nybegynder
20. marts 2006 - 13:53 Der er 14 kommentarer og
1 løsning

Dropdownlist i seperat usercontrol ?

Hejsa,

Jeg har en dropdownlist som jeg bruger forskellige steder på min sider den har jeg lagt i en usercontrol for sig selv og det virker også fint.

Når jeg så trækker den ind på en anden usercontrol skal jeg have mulighed for at tilgå dropdownlisten, men hvordan gør jeg det ?

/Websam
Avatar billede dj_uncas Nybegynder
20. marts 2006 - 14:45 #1
Hvis du eks. har sat din UserControl ind således:

<uc:MinDropDown id="ucMinDropDown" runat="server" />

kan du i codebehind tage fat i den med:

ucMinDropDown.DropDownKontrol
Avatar billede dj_uncas Nybegynder
20. marts 2006 - 14:46 #2
og få fat i den valgte værdi med ucMinDropDown.DropDownKontrol.SelectedItem.Value
Avatar billede websam Nybegynder
20. marts 2006 - 14:47 #3
Ok det tjekker jeg lige op på ;o)
Avatar billede dr_chaos Nybegynder
20. marts 2006 - 17:24 #4
Hvis du bruger load usercontrol kan du lave en property:

public Dropdownliste getDrp
{
get{return this.dindropdownliste;}
}

så tilgår du den med

dinud.getDrp.SelectedValue;
Avatar billede websam Nybegynder
23. marts 2006 - 10:34 #5
dj_uncas >> Jeg tilføjer min usercontrol som har id="Language1" usercontrollen indeholder en dropdownlist med id="drp_Language" og som jeg så har forstået det skal jeg kalde den med :

    Language1.drp_Language

Men det virker ikke ?
Avatar billede dr_chaos Nybegynder
23. marts 2006 - 10:36 #6
I 1.1 virker det kun hvis du laver den public.
I 2.0 skal du prøve med noget som minder om minb løsning.
Avatar billede websam Nybegynder
23. marts 2006 - 10:38 #7
ok det er i 2.0, men det du i din property kalder "dindropdownliste" er det så min usercontrol ?

/Websam
Avatar billede dr_chaos Nybegynder
23. marts 2006 - 10:41 #8
nej det er en property i codebehind på selve usercontrollen.
I dit tilfælde vil det være

public Dropdownliste getDrp
{
get{return this.drp_Language;}
}



Language1.getDrp.SelectedValue:
Avatar billede websam Nybegynder
23. marts 2006 - 10:43 #9
Jeg skylder nok lige og sige at jeg fylder min dropdownlist med data fra en xml fil :

Dim mySortedList As New System.Collections.SortedList
            Dim Item As DictionaryEntry

            mySortedList("0") = LocalizedString("languagselect", "languagselect") 'ingen
            mySortedList("1") = LocalizedString("languagselect", "languageall") 'alle
            mySortedList("2") = LocalizedString("languagselect", "languagdanish") 'da
            mySortedList("3") = LocalizedString("languagselect", "languagnorway") 'no
            mySortedList("4") = LocalizedString("languagselect", "languagsweden") 'se
            mySortedList("5") = LocalizedString("languagselect", "languagenglish") 'en
            mySortedList("6") = LocalizedString("languagselect", "languaggerman") 'de
            mySortedList("7") = LocalizedString("languagselect", "languagitalian") 'it
            mySortedList("8") = LocalizedString("languagselect", "languagspain") 'es
            mySortedList("9") = LocalizedString("languagselect", "languagfrensh") 'fr

            For Each Item In mySortedList
                Dim newListItem As New ListItem
                newListItem.Text = Item.Value
                newListItem.Value = Item.Key
                drp_Language.Items.Add(newListItem)
            Next

hvor skal jeg så have det liggende ?
Avatar billede dr_chaos Nybegynder
23. marts 2006 - 10:44 #10
lig det alt sammen i usercontrollen
Avatar billede websam Nybegynder
23. marts 2006 - 10:53 #11
jamen skal det ligge i propertien eller hvor ?
Avatar billede dr_chaos Nybegynder
23. marts 2006 - 11:00 #12
Nej lav evt en metode

public void BindData()
{
            Dim Item As DictionaryEntry

            mySortedList("0") = LocalizedString("languagselect", "languagselect") 'ingen
            mySortedList("1") = LocalizedString("languagselect", "languageall") 'alle
            mySortedList("2") = LocalizedString("languagselect", "languagdanish") 'da
            mySortedList("3") = LocalizedString("languagselect", "languagnorway") 'no
            mySortedList("4") = LocalizedString("languagselect", "languagsweden") 'se
            mySortedList("5") = LocalizedString("languagselect", "languagenglish") 'en
            mySortedList("6") = LocalizedString("languagselect", "languaggerman") 'de
            mySortedList("7") = LocalizedString("languagselect", "languagitalian") 'it
            mySortedList("8") = LocalizedString("languagselect", "languagspain") 'es
            mySortedList("9") = LocalizedString("languagselect", "languagfrensh") 'fr

            For Each Item In mySortedList
                Dim newListItem As New ListItem
                newListItem.Text = Item.Value
                newListItem.Value = Item.Key
                drp_Language.Items.Add(newListItem)
            Next


}
Avatar billede dr_chaos Nybegynder
23. marts 2006 - 11:00 #13
lidt c# med vb :)

så kalder du den med Language1.BindData();
Avatar billede websam Nybegynder
23. marts 2006 - 11:05 #14
cool smid et svar ;o)
Avatar billede dr_chaos Nybegynder
23. marts 2006 - 11:10 #15
svar :)
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