use*_*164 6 asp.net ajax ajaxcontroltoolkit
我正在使用自动填充扩展器在用户输入时建议名称.如何在用户选择项目后获取选择值?我想我可以使用onclientitemselected但我不熟悉如何写这个?我需要根据autocompleteextender文本框中的选择填充文本框.谢谢
<asp:TextBox ID="TextBox1" runat="server" Height="27px" Width="570px"></asp:TextBox>
<asp:AutoCompleteExtender ID="AutoCompleteExtender" runat="server"
DelimiterCharacters="" Enabled="True" ServicePath="AutoComplete.asmx"
ServiceMethod="GetCompletionList" TargetControlID="TextBox1"
MinimumPrefixLength="2" UseContextKey="true" ContextKey="StateDropDown"
CompletionListElementID="autocompleteDropDownPanel">
</asp:AutoCompleteExtender>
Run Code Online (Sandbox Code Playgroud)
小智 5
为此,您需要从Web服务方法返回具有ID和Text的列表
这里的“ lst”是包含来自数据源的数据的实际列表。
List<string> items = new List<string>(count);
for (int i = 0; i < lst.Count; i++)
{
string str =AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(lst[i].Text,Convert.ToString(lst[i].IDValue));
items.Add(str);
}
return items.ToArray();
Run Code Online (Sandbox Code Playgroud)
然后简单的JavaScript
function GetID(source, eventArgs )
{
var HdnKey = eventArgs.get_value();
document.getElementById('<%=hdnID.ClientID %>').value = HdnKey;
}
Run Code Online (Sandbox Code Playgroud)
并且不要忘记在自动完成扩展程序OnClientItemSelected =“ GetID”中设置属性
仅AutoCompleteExtender扩展了 ASP.NETTextBox控件,因此如果您想知道文本何时更改,只需在控件TextChanged上引发事件TextBox,如下所示:
Markup:
<asp:TextBox ID="TextBox1" runat="server" Height="27px" Width="570px" OnTextChanged="TextBox1_TextChanged" AutoPostBack="true"></asp:TextBox>
Code-Behind:
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
// Do something here with textbox value
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12099 次 |
| 最近记录: |