Avatar billede ivanravn Nybegynder
14. februar 2008 - 08:43 Der er 9 kommentarer

Xml i dropdopdown box

er der nogen der kan se hvorfor der ikke kommer data ud?
Hvis jeg kalder xmlfilen med den direkte parameter kommer der data

        Dim Doc As New XmlDocument()
        Doc.Load(Server.MapPath("~/App_Data/DataSource.xml"))
        Dim MyndigheterVarslet As String = Request.QueryString("MyndigheterVarslet")
        Dim node As XmlNode
        '
        Dim xnl As XmlNodeList = Doc.SelectNodes("/dataSources/dataSource[@culture='nb-NO']/data[@Name='" + MyndigheterVarslet + " ']/value[not(code[.>0])]")

            For Each node In xnl

                Try
                DropMyndghederVarslet1.Items.Add(node.FirstChild.InnerText)
                Catch ex As Exception

                End Try
            Next
Avatar billede powerpunk Nybegynder
14. februar 2008 - 08:53 #1
Jeg er ikke sikker på jeg forstår hvad problemet er (Og det er ikke fordi det er norsk... ;-) )

Er det din load, din select eller din foreach der ikke virker?
Er du sikker på at den path du har i din select er korrekt?
Avatar billede ivanravn Nybegynder
14. februar 2008 - 09:31 #2
Det er min select der ikke virker, der kommer ikke data dropdown. Hvis jeg skriver  '
        Dim xnl As XmlNodeList = Doc.SelectNodes("/dataSources/dataSource[@culture='nb-NO']/data[@Name='MyndigheterVarslet']/value[not(code[.>0])]") virker det fint nok.
Avatar billede powerpunk Nybegynder
14. februar 2008 - 10:05 #3
Er værdien i din Querystring("MyndigheterVarslet") gyldig?
Er du sikker på at der findes data-elementer i din XML som har et 'name' attribut med den værdi der står i din Querystring("MyndigheterVarslet")?
Avatar billede powerpunk Nybegynder
14. februar 2008 - 10:05 #4
Har du mulighed for at poste noget af den xml du prøver at loade?
Avatar billede ivanravn Nybegynder
14. februar 2008 - 10:31 #5
<dataSources>
  <dataSource culture="nb-NO">
<data name="MyndigheterVarslet">
      <value code="178">Arbejdstilsynet</value>
      <value code="180">Sikkerhedsstyrelsen</value>
      <value code="179">Trafikstyrelsen</value>
    </data>
</dataSource>
</dataSources>
Avatar billede powerpunk Nybegynder
14. februar 2008 - 11:01 #6
Så når du eksplicit søger data-elementer med attributtet name='MyndigheterVarslet' får du alle tre noder. Det giver mening.

Men hvis det er hele dit datasæt, vil du ikke få noget resultat, hvis der står nogetsomhelst andet end 'MyndigheterVarslet' i din querystring... Så mon ikke det er den værdi der er noget galt med?
Avatar billede ivanravn Nybegynder
18. februar 2008 - 08:04 #7
Det jeg skal bruge er Arbejdstilsynet, Sikkerhedsstyrelsen og Trafikstyrelsen i dropdownboksen. Når jeg så sender formularen er det code valuen der skal sendes i databasen. Har du et foreslag?
Avatar billede powerpunk Nybegynder
18. februar 2008 - 09:28 #8
I så fald er jeg ikke sikker på at jeg kan se meningen i
  Dim MyndigheterVarslet As String = Request.QueryString("MyndigheterVarslet")
og
  Dim xnl As XmlNodeList = Doc.SelectNodes("/dataSources/dataSource[@culture='nb-NO']/data[@Name='" + MyndigheterVarslet + " ']/value[not(code[.>0])]")

Hvis du bruger
Dim xnl As XmlNodeList = Doc.SelectNodes("/dataSources/dataSource[@culture='nb-NO']/data[@name='MyndigheterVarslet']/value[not(code[.>0])
får du en xmlnodelist der indeholder de ønskede tre elementer.
Du kan så tilføje dem til din dropdown som:

  For Each node In xnl
    Dim item as new ListItem(node.InnerText, node.Attributes["code"].Value)
    DropMyndghederVarslet1.Items.Add(item)
  Next

Du kan så hive 'code' ud som
  DropMyndighederVarslet1.SelectedValue
Avatar billede ivanravn Nybegynder
18. februar 2008 - 11:00 #9
Hej Powerpunk Tak for hjælpen, det kom til at se sådan ud og det virker .
  Dim xnl As XmlNodeList = Doc.SelectNodes("/dataSources/dataSource[@culture='nb-NO']/data[@name='MyndigheterVarslet']/value[not(code[.>0])]")
        '  Dim node As XmlNode
        For Each node In xnl
            Dim item As New ListItem(node.FirstChild.InnerText, node.Attributes("code").Value)
            DropMyndghederVarslet.Items.Add(item)
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