Efter lite efteforskningar hittade jag lösningen! gör typ:FindByValue returnerar fel
Lösningen var:
<code>
Dim ddlItem As ListItem = ddlAccountNo.Items.FindByValue(Obj.Text)
If Not (ddlItem Is Nothing) Then
ddlAccountNo.Items.FindByValue(Obj.Text).Selected = True
End If
</code>
Tack Arathorn, du var inne på rätt spår.
---------------------------------------------------------------------------------------
Jag har en textbox där användarna kan skriva in ett nummer eller välja samma nummer ur en dropdownlist.
När användaren använder textboxen och skriver in ett värde använder jag följande:
<code>
ddlAccountNo.Items.FindByValue(Obj.Text).Selected = True
</code>
Problemet är att om det inskrivna värdet ej existerar i rullmenyn får jag följande felmeddelande:
<code>
System.NullReferenceException: Object reference not set to an instance of an object.
</code>
Kan jag på något sätt kontrollera värdet innan jag selecter det?
Sv: FindByValue returnerar fel
if(ddlAccountNo.Items.FindByValue(Obj.Text)!=null){
ddlAccountNo.Items.FindByValue(Obj.Text).Selected = True;
}
men du kan ju tilldela ddlAccountNo.Items.FindByValue(Obj.Text) till nånting och kolla om det är null är det inte det så kör du .Selected=True...
Skrev lite C# däruppe... gissar att du håller på med VB.Net men jag kommer inte riktigt ihåg hur man kolla på null i vb.Net... kanske <>null (nothing) eller vad de har hittat på i VB.Net