gpt4 book ai didi

ASP.NET jQuery AutoComplete - 第一次搜索后文本框没有响应

转载 作者:行者123 更新时间:2023-12-03 22:59:24 27 4
gpt4 key购买 nike

到目前为止,我在该网站的其他问题中没有发现同样的问题。以下是我的经历:

我有一个 ASP.NET WebForms 应用程序,其中包含一个包含搜索区域的 UpdatePanel,其中有一个用于 jQuery 自动完成的 ASP:TextBox。

$(document).ready(function() {
$("#tabContainer_tabSearchBreaks_txtSearchName").autocomplete("AutoCompleteEmployee.ashx", { minChars: 3, maxItemsToShow: 10 });
});

这一切工作正常,但如果我单击 ASP:Button 并处理搜索区域的一些代码,自动完成 JavaScript 将不再工作。

有什么想法吗???

必须有一个解决方案来重置文本框以调用js代码。

[更新 - 更多代码]以下是更新按钮对独立于自动完成代码的搜索区域的作用:

 try {
int employeeID;
string[] namelst = txtSearchName.Text.Split(new string[] {
" "
}, StringSplitOptions.None);
employeeID = int.Parse(namelst[2].Substring(1, namelst[2].Length - 2));
string name = namelst[0] + " " + namelst[1];
var breaks = bh.ListBreaksForEmployeeByDate(employeeID, DateTime.Parse(txtFromDate.Text), txtToDate.Text.Length > 0 ? DateTime.Parse(txtToDate.Text).AddDays(1).AddSeconds(-1) : DateTime.Today.AddDays(1).AddSeconds(-1));

if (breaks.Count() > 0) {
lblEmployeeTitle.Text = "Breaks for " + name;
gridSearchBreaks.DataSource = breaks;
gridSearchBreaks.DataBind();
}
} catch {}

希望这有帮助。目前我已向用户隐藏了包含此问题的选项卡。

最佳答案

我认为您遇到了 ASP.NET UpdatePanel 控件和 jQuery 的经典问题。问题如下:jQuery 代码(在您的情况下它是自动完成的,但它可以是任何内容)在页面加载时工作正常,但在部分回发后停止工作。如果是这种情况,您需要了解有关将 jQuery 与 UpdatePanel 控件一起使用的一些知识。

首先, $(document).ready 中定义的所有事件绑定(bind)在第一次部分回发后停止工作(我假设您的按钮单击导致部分回发)。这就是 ASP.NET 的工作方式。那么如何解决呢?嗯,有几种方法可以解决这个问题。典型的建议是用 ASP.NET AJAX 自己的 pageLoad 事件替换 $(document).ready。这可能会解决一个问题,但很可能会导致更多问题,因为现在您将在每个部分回发上绑定(bind)事件,从而导致对单个事件重复执行事件处理程序。在执行任何绑定(bind)之前,您可以通过为选择器调用unbind来解决一些问题。对于简单的事件绑定(bind),您可以继续使用 $(document).ready 和 live 函数(而不是单击、悬停等)。

我没有在 UpdatePanel 中使用过 jQuery 插件,所以我不能确定你需要做什么,但是一旦你了解发生了什么,找到正确的方法应该不难。要了解有关此问题和可能的解决方案的更多信息,请阅读 Dave Ward 的文章 $(document).ready() and pageLoad() are not the same! (本文包括几个示例)。

关于ASP.NET jQuery AutoComplete - 第一次搜索后文本框没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1106029/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com