Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 触发TextBox onkeyup事件时填充列表框_C#_Textbox_Listbox_Onkeyup - Fatal编程技术网

C# 触发TextBox onkeyup事件时填充列表框

C# 触发TextBox onkeyup事件时填充列表框,c#,textbox,listbox,onkeyup,C#,Textbox,Listbox,Onkeyup,我有一个文本框,我应该在那里输入一个城市的开始。当输入至少3个字符时,我从数据库中检索可能的列表(名称以输入字符串开头的所有城市),并用可能的列表框填充列表框。然后我希望能够从下面的列表框中进行选择,并将完整的名称放入文本框中 因此,我在这里找到了一种方法,在onkeyup事件发生时触发OnTextChanged TextBox事件,并可以填充我的ListBox。当我点击一个列表框项目时,相同的事件(来自文本框)再次被触发,并且从列表框中选择的索引从未被触发。请参阅下面的代码 <scrip

我有一个文本框,我应该在那里输入一个城市的开始。当输入至少3个字符时,我从数据库中检索可能的列表(名称以输入字符串开头的所有城市),并用可能的列表框填充列表框。然后我希望能够从下面的列表框中进行选择,并将完整的名称放入文本框中

因此,我在这里找到了一种方法,在onkeyup事件发生时触发OnTextChanged TextBox事件,并可以填充我的ListBox。当我点击一个列表框项目时,相同的事件(来自文本框)再次被触发,并且从列表框中选择的索引从未被触发。请参阅下面的代码

<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文本框控件上不可用,不是吗?