C# 触发TextBox onkeyup事件时填充列表框
我有一个文本框,我应该在那里输入一个城市的开始。当输入至少3个字符时,我从数据库中检索可能的列表(名称以输入字符串开头的所有城市),并用可能的列表框填充列表框。然后我希望能够从下面的列表框中进行选择,并将完整的名称放入文本框中 因此,我在这里找到了一种方法,在onkeyup事件发生时触发OnTextChanged TextBox事件,并可以填充我的ListBox。当我点击一个列表框项目时,相同的事件(来自文本框)再次被触发,并且从列表框中选择的索引从未被触发。请参阅下面的代码C# 触发TextBox onkeyup事件时填充列表框,c#,textbox,listbox,onkeyup,C#,Textbox,Listbox,Onkeyup,我有一个文本框,我应该在那里输入一个城市的开始。当输入至少3个字符时,我从数据库中检索可能的列表(名称以输入字符串开头的所有城市),并用可能的列表框填充列表框。然后我希望能够从下面的列表框中进行选择,并将完整的名称放入文本框中 因此,我在这里找到了一种方法,在onkeyup事件发生时触发OnTextChanged TextBox事件,并可以填充我的ListBox。当我点击一个列表框项目时,相同的事件(来自文本框)再次被触发,并且从列表框中选择的索引从未被触发。请参阅下面的代码 <scrip
<script type="text/javascript">
function RefreshUpdatePanel(txt) {
if (txt.value.length >= 3) {
__doPostBack('<%= TextBoxCity.ClientID %>', '');
}
};
</script>
<asp:TextBox ID="TextBoxCity" Width="185px" onkeyup="RefreshUpdatePanel(this);" OnTextChanged="TextBoxCity_TextChanged" runat="server" ></asp:TextBox><br />
<asp:ListBox runat="server" Width="185px" ID="Cities" AutoPostBack="true" OnSelectedIndexChanged="Cities_SelectedIndexChanged" ></asp:ListBox>
// this one fires when selecting entry in listbox
protected void TextBoxCity_TextChanged(object sender, EventArgs e)
{
// load cities and populate listbox....
}
// I expect this one to fire when selecting entry in listbox
protected void Cities_SelectedIndexChanged(object sender, EventArgs e)
{
TextBoxCity.Text = Cities.Text;
}
函数RefreshUpdatePanel(txt){
如果(txt.value.length>=3){
__doPostBack('','');
}
};
//当在列表框中选择条目时,将触发此命令
受保护的void TextBoxCity_TextChanged(对象发送方,事件参数e)
{
//加载城市并填充列表框。。。。
}
//我希望在列表框中选择条目时触发此命令
受保护的无效城市\u选择的索引已更改(对象发送方,事件参数e)
{
Text=Cities.Text;
}
根据您正在尝试的操作判断,文本框的自动完成功能是否更适合此任务?嗨,奥拉夫,谢谢你的回答,但这似乎是一个windows窗体功能,在ASP.NET文本框控件上不可用,不是吗?