ASP.NET 2.0中的下拉菜单控件
时间:2020-03-06 14:55:54 来源:igfitidea点击:
我正在ASP.NET中使用代码隐藏页来执行SQL查询。将查询加载到字符串中,建立连接(至Oracle),然后通过将连接执行.ExecuteReader到OleDBDataReader(我们将其称为DataRead)中来启动查询。我将在下面尝试一个例子。 (将Drop视为ASP DropDownList控件)
Dim LookFor as String = "Fuzzy Bunnies" While DataRead.Read If LookFor = DataRead.Item("Kinds of Bunnies") Then 'Meets special critera, do secondary function' Drop.Items.Add(DataRead.Item("Subgroup of Bunnies")) ... End if ... End While
这是我知道对DropDownList进行动态添加的唯一方法。但是,DropDownList中的每个项目都具有.text属性和.value属性。如何在代码中将.value定义为与.text不同?
解决方案
请原谅我可能是错误的VB
Dim item as New ListItem() item.Value = "foo" item.Text = "bar" Drop.Items.Add(item)
我们还可以使用ListItem构造函数(例如new ListItem(" text"," value"))
Add应该有一个接受ListItem对象的重载。使用该方法,通常可以执行以下操作:
Drop.Items.Add(New ListItem("Text", "Value"))
Add函数可以使用ListItem,因此我们可以执行
Dim li as new ListItem(DataRead.Item("Subgroup of Bunnies"), "myValue") Drop.Items.Add(li)
我们需要在数据读取器中选择第二列(例如IDENTITY字段),然后分配如下所示的Item生成:
Dim item as new listitem item.text = DataRead.Item("SubGroup Of Bunnies") item.value = DataRead.Item("ID") Drop.Items.Add(item)
我们可能还需要研究DATABIND功能,并在SQL语句本身中过滤掉" FUZZY BUNNIES"。
如果我理解这个问题,Items.Add具有一个接受ListItem的重载,那么我们可以在该行中创建一个新的ListItem对象:
Drop.Items.Add(new ListItem("text", "value"))