ASP.NET Textbox自动完成获取不同的表列值

时间:2015-01-30 02:56:35

标签: jquery asp.net autocomplete

案件是这样的: db表如下: db

并且所需的用户界面是这样的: UI

这可能吗?我想进行自动完成,直到全名,然后,当用户输入例如john时,所有具有john名称的客户都将显示分支名称附加数据,如果用户选择其中一行,则弹出,它会更新cif号码。 例: -John Doe | Mighigan分公司 -John Alex |开罗分公司 - 大卫约翰|加拿大分公司

到目前为止,我在asp.net上搜索弹出自动完成功能,它只是在数据库中查找一列,并更新相同的文本字段。我需要它来更新多个文本字段,客户名称和cif号码。或者,只是CIF编号,但自动完成将查找客户名称和分支名称。

非常感谢。

1 个答案:

答案 0 :(得分:0)

为了强制选择文本,您可以订阅TextChanged事件并使用下面的函数作为itemSelected扩展器的客户端事件OnClientItemSelected="autoCompleteEx_ItemSelected"的处理程序:

<script type="text/javascript">
 function autoCompleteEx_ItemSelected(sender, args) {
      __doPostBack(sender.get_element().name, "");
 }
</script>

您可能想要从目标文本框中删除AutoPostBack="true"

你的回发活动将是

 protected void autoCompleteTextbox_ValueChanged(object sender, EventArgs e)
  {
    ///populate the form based on retrieved data
  } 

this链接,您需要加入两个字段

    List<string> autocompleteList= new List<string>();
    for (int i = 0; i < dt.Rows.Count; i++)
    {
      autocompleteList.Add(dt.Rows[i]["FullName"].ToString()+"|"+dt.Rows[i]["BranchName"].ToString());
    }

将您的OnClientItemSelected="autoCompleteEx_ItemSelected"放入automcomplete extender。

  <ajaxtoolkit:AutoCompleteExtender runat="server" 
    //other properties 
    OnClientItemSelected="autoCompleteEx_ItemSelected">
</ajaxtoolkit:autocompleteextender>