24. marts 2006 - 08:39Der er
18 kommentarer og 2 løsninger
Dropdownliste der driller lidt ?
Hejsa,
Jeg har lidt problemer med at fylde data i en dropdownliste. Jeg henter mine data ved hjælp af en datareader og ligge det over i en List(Of .....). Denne liste smides i cache og hentes så med :
objBLL.FindUserGroup
Fra mit business lag. I codebehind laver jeg så følgende :
Public Function LoadUserGroup() Implements DataMessageInterface.LoadUserGroup Dim Sql As String = "Select Id, UserGroup, GroupName From tbl_login_usergroup" Dim Dr As SqlDataReader = _Db.ExecuteReader(Sql) Dim objList As New List(Of NewsletterInfo.MessageInfo) Do While Dr.Read objList.Add(New NewsletterInfo.MessageInfo(Convert.ToInt32(Dr("Id")), _ Convert.ToInt32(Dr("UserGroup")), _ Convert.ToString(Dr("GroupName")), _ 0, _ "", _ "")) Loop Dr.Close() Return objList End Function
Laver cache med denne :
Public Function FindUserGroup() Implements MessageInterface.FindUserGroup '--- Laver cache af listen med emails. Dim Source As List(Of NewsletterInfo.MessageInfo) = CType(HttpContext.Current.Cache("UserGroup"), List(Of NewsletterInfo.MessageInfo)) If Source Is Nothing Then Source = objDAL.LoadUserGroup HttpContext.Current.Cache("UserGroup") = Source Else HttpContext.Current.Cache("UserGroup") = Source End If Return Source End Function
drp_Reciever.DataSource = objBLL.FindUserGroup drp_Reciever.DataTextField = "GroupName" 'hvis du sætter et breakpoint her, hvad er drp_Reciever.DataSource så? drp_Reciever.DataValueField = "UserGroup" drp_Reciever.DataBind()
drp_Reciever.DataSource = new string{"a","b","b"}; 'drp_Reciever.DataTextField = "GroupName" 'hvis du sætter et breakpoint her, hvad er 'drp_Reciever.DataSource så? 'drp_Reciever.DataValueField = "UserGroup" drp_Reciever.DataBind()
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.