【发布时间】:2018-07-28 18:40:48
【问题描述】:
我有一个显示城市名称的自动完成文本框。每当用户单击城市名称时,选定的城市名称就会显示在文本框中。此文本框值应发送到代码隐藏方法 (aspx.cs) 以获取所选城市名称的更多详细信息,以便在网格视图中显示结果详细信息。
现在,为了传递所选值,我添加了一个文本框,用于复制所选城市名称值并将其包含在更新面板中。当文本框选择发生变化时,想法是触发代码隐藏方法:
这是aspx页面中的代码:
$(document).ready(function () {
$('#txtName').on('change', function () {
$('#selectedItem').html(this.value);
}).change();
$('#txtName').on('autocompleteselect', function (e, ui) {
$('#selectedItem').val(ui.item.value);
});
});
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<label>Alternate Names: </label>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Label ID="countLabel" runat="server"></asp:Label>
<br />
<asp:UpdatePanel ID="updatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="selectedItem" runat="server" OnTextChanged="selectedItem_TextChanged"></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="selectedItem" EventName="TextChanged" />
</Triggers>
</asp:UpdatePanel>
</form>
这是aspx.cs页面中的代码:
protected void selectedItem_TextChanged(object sender, EventArgs e)
{
MessageBox.Show(selectedItem.Text);
}
但是这个方法没有被触发。有人可以帮我找出我正在做的错误。
【问题讨论】:
标签: c# jquery asp.net textbox updatepanel