Avatar billede disco_keld Nybegynder
10. juni 2003 - 12:15 Der er 3 kommentarer og
1 løsning

Vil fylde data i en listbox, valgt fra en anden listbox!

Hejsa....

Jeg har 2 listboxe.

Den første bliver fyldt i Page_Load med nyheds kategorier.

Jeg vil så fra den kunne vælge en nyheds-kategori og den anden listbox skal fyldes med nyhedes overskrifter tilhørende den valgte kategori.

Jeg bruger postback og onselectedindexchanged men jeg for en "Object reference not set to an instance of an object" error....

Jeg har 2 tabeller i Db som er joined.

Min kode hvor jeg binder dataene til listboxene ser således ud:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim oNewsCategories As New Business.News()
            With lstNewsCategories
                .DataSource = oNewsCategories.GetNewsCategories()
                .DataTextField = "Name"
                .DataValueField = "CatID"
                .DataBind()
            End With
        End Sub

Public Sub lstNewsCategories_OnSelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstNewsCategories.SelectedIndexChanged
            Dim catID As String = lstNewsCategories.SelectedItem.Value

            Dim oNewsTopics As New Business.News()
            With lstNewsTopics
                .DataSource = oNewsTopics.GetNewsTopicsByCatId(catID)
                .DataTextField = "Topic"
                .DataValueField = "NewsID"
                .DataBind()
            End With
        End Sub

Nogen forslag?

Mvh

/DK :-(
Avatar billede somaliomar Praktikant
10. juni 2003 - 12:17 #1
På hvilken linje opstår fejlen?
Avatar billede disco_keld Nybegynder
10. juni 2003 - 12:20 #2
Jeg fatter det ikke for det eneste den skriver er:

Stack Trace:

[NullReferenceException: Object reference not set to an instance of an object.]
  eCoders.TechBusiness.Web.Secure.Controls.User.AdminModule.lstNewsCategories_OnSelectedIndexChanged(Object sender, EventArgs e) +27
  System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e) +108
  System.Web.UI.WebControls.ListBox.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() +26
  System.Web.UI.Page.RaiseChangedEvents() +115
  System.Web.UI.Page.ProcessRequestMain() +1081
Avatar billede odegaard Nybegynder
10. juni 2003 - 18:29 #3
Det betyder at du forsøger at tilgå en variabel der ikke har fået tildelt en værdi. Enten fordi den skal erklærer med New, eller fordi variablen aldrig er blevet sat lig med noget.

Jeg vil gætte på at det er fordi page_load eventet bliver kørt først hvorefter dit onSelectedIndexChanged event bliver udført. Da du lige har databinded igen er værdien lstNewsCategories.SelectedItem.Value = nothing. Derfor får du en fejl.
Du skal altid huske at sætte en betingelse i dine databinding funktioner, så du ikke databinder ved et postback:
If Not Page.IsPostBack Then
'Hent data og databind
End If
Avatar billede disco_keld Nybegynder
10. juni 2003 - 19:26 #4
Det hjalp sgy odegaard!

:-)

Hehe jeg sover i timen....

Mange tak
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