Atlapure Ambrish
Если вы не заинтересованы в автоматическом заполнении JQuery или у вас есть конкретная потребность, у вас есть возможность использовать текстовое поле, которое будет использоваться для ввода текста для поиска и добавления выпадающего списка или элемента управления списком в панели обновления, который будет обновляться во время ввода текста в текстовом поле.
это код, который вам нужен в вашем файле. aspx
<script type="text/javascript">
function RefreshUpdatePanel() {
__doPostBack('txtSearch', '');
};
</script>
<asp:TextBox ID="txtSearch" runat="server" onkeyup="RefreshUpdatePanel();" AutoPostBack="false" OnTextChanged="txtSearch_TextChanged" ></asp:TextBox>
<asp:UpdatePanel ID="Update" runat="server">
<ContentTemplate>
<asp:DropDownList runat="server" ID="ddlSearch" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="txtSearch" />
</Triggers>
</asp:UpdatePanel>
<asp:TextBox ID="txt2" runat="server"></asp:TextBox>
Ниже приведен код, необходимый в вашем коде позади.
public List<string> Values { get; set; }
private void GetValues()
{
Values = new List<string>();
Values.Add("Apple");
Values.Add("Orange");
Values.Add("Banana");
Values.Add("Pear");
Values.Add("Black Berry");
Values.Add("Pineapple");
}
protected void txtSearch_TextChanged(object sender, EventArgs e)
{
var dropDownList = sender as TextBox;
var options = (from o in Values
where o.StartsWith(dropDownList.Text, StringComparison.InvariantCultureIgnoreCase)
select o).ToList();
ddlSearch.DataSource = options;
ddlSearch.DataBind();
}
Этот подход обновляет содержимое панели onkeyup события текстового поля, если вам это нужно на другом событии, например onblur, вы можете зарегистрировать его из кода позади с помощью "RegisterClientScriptBlock".
Я бы все же рекомендовал вам перейти на jQuery auto complete, потому что это более чистый подход.