我在网站上使用的是非常特定的样式,我需要ComboBox
来允许用户选择预设位置或自行输入。我本打算使用Ajax Combobox
,但是它具有自己的样式集,因此无法使其与其他控件的样式相匹配。因此,我决定使用提供的某些默认控件来制作自己的组合框。
除了没有找到将datasource
设置为通用<datalist>
控件的方法之外,我拥有了所有需要的东西。我可以像拨弄小提琴所示那样对设置的位置进行硬编码,但是当我们添加/删除位置时,我不想维护这种方式。有什么帮助吗?您可以在DataBind
上<datalist>
,但是没有DataSource
属性。
<input type="text" id="listLocations" list="dlLocations" runat="server" />
<datalist id="dlLocations" runat="server">
<option value="Location1">Location 1</option>
<option value="Location2">Location 2</option>
<option value="Location3">Location 3</option>
</datalist>
VB.NET;创建虚拟记录
Dim dsLocations As New DataSet
Dim dtLocations As New DataTable
dtLocations.Columns.Add("Description")
For i As Integer = 0 To 4
dtLocations.Rows.Add("Location " & (i + 1))
Next
dsLocations.Tables.Add(dtLocations)
'dlLocations.DataSource = dsLocations.Tables(0).DefaultView
'dlLocations.DataBind()
我尝试使用<asp:datalist>
作为来源,但它不会像普通的<datalist>
那样隐藏。它可以绑定,但是会以常规列表的形式显示在文本框下方。
<asp:DataList ID="dlLocations" runat="server">
<ItemTemplate>
<%#Eval("Description")%>
</ItemTemplate>
</asp:DataList>