cyprysMedlem sedan dec. 20003 563 inlägg System.NullReferenceException: Object reference not set to an instance of an object.
Dim sSporten as string = Rec("sport").tostring
if NOT ssporten = "-1" then
sporter.Items.FindByValue(sSporten).Selected = true
end if
Här hänger jag inte med på vad den vill. sSporten innehåller det värde jag vill. Det är testat. Samt att sporter är en listbox i ett webform. Det funkar på andra ställen med i princip samma kod.
Vad brukar vara felet?
SPiNMedlem sedan mars 20007 896 inlägg Du är säker på att sporter är instansierad?
Jag vet inte hur VB.NET reagerar på ssporten, kanske det är case-sensitive och du är tvungen att skriva sSporten?
EkströmMedlem sedan feb. 20022 594 inlägg VB är inte case sensitive, C# däremot är det.
NETworkMedlem sedan juni 20011 732 inlägg
sSporten innehåller det värde jag vill.
Innehåller "sporter" det värde du söker efter då?
cyprysMedlem sedan dec. 20003 563 inlägg Yupp. Om jag skriver ut sSporten eller sSporten.tostring så får jag just det värdet jag vill ha.
Samt att jag har en <asp:listbox id=sporter runat=server size=1 /> längre ner på sidan.
Tycker det verkar vara något att den inte kommer åt objectet sporter?
Koden som genererar felet ligger inom en sub som körs. Alla andra värden lägga i sina <asp:textbox id=bla runat=server />. Alla utom just att denna inte vill välja rätt värde. Värdet finns i listboxen. Visserligen kommer värdet i listboxen ur en integer-kolumn. Men det gör denna också..
*funderar men förstår inte.....
NETworkMedlem sedan juni 20011 732 inlägg Är det value du vill åt då, inte text (findbytext)? Skicka lite mer kod, lättare att se då...
cyprysMedlem sedan dec. 20003 563 inlägg Lite uthugget.
sub page_load()
Dim objcmd2 As new OleDbCommand("SELECT sport, id FROM sporter ORDER BY sport", conn)
sporter.DataTextField = "sport"
sporter.DataValueField = "id"
sporter.DataSource = objcmd2.ExecuteReader()
sporter.DataBind()
sporter.Items.Insert(0, new ListItem("-- Välj sport nedan --", "-1"))
end sub
sub redigera()
Dim cmd as OleDbCommand = new Oledbcommand("SELECT id, rubrik, nyhet, sport FROM nyheter WHERE ID = " & choID, conn)
Dim Rec as OleDbDataReader
conn.open()
Rec = cmd.ExecuteReader()
if Rec.Read() then
rubrik.text = Rec("rubrik")
nyhet.text = Rec("nyhet")
sporter.Items.FindByValue(Rec("sport")).Selected = true
end if
conn.close()
end sub
</script>
---- Längre ner på sidan
<asp:textbox id=rubrik runat=server />
<asp:textbox id=nyhet runat=server />
<asp:listbox id=sporter runat=server size=1 />
Rubrik samt nyhet får helt rätt värde. Samt att värdet som kommer från Rec("sport") även ligger som value i listboxen. Det finns där.
cyprysMedlem sedan dec. 20003 563 inlägg Suck.. Hittade felet.
Jag anropade redigera() innan jag la in värderna i listboxen.
jaja. Tack för hjälpen i alla fall :)