自动完成在ASP中不起作用.Net网站表单与主页
Autocomplete does not work in ASP.Net webform with masterpage
我有一个bot麻烦的脚本。我有一个名为CoursesPage的web表单。Aspx有一个母版页。我使用Jquery在一个文本框上使用自动完成功能,该文本框可以从数据库中获取课程名称。jQuery在没有母版页的页面上就像一个魅力,但它在这个页面上不起作用。
这是代码。
<link rel="stylesheet" href="css/jquery-ui.css" />
<script src="js/jquery-1.8.3.js" type="text/javascript"></script>
<script src="js/jquery-ui.js" type="text/javascript" ></script>
<script type="text/javascript">
function LoadList() {
alert("I'm good");
var ds = null;
ds = <%=listFilter %>
$("#txtName").autocomplete({
source: ds
});
}
$(function () { LoadList(); });
</script>
我设置alert("I'm good");看看脚本是否触发,结果是触发了。所以文件没有问题。但其余的不是。
下面的代码:
private string BindName()
{
DataTable dt = null;
using (MakeConn())
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select distinct Name from courses";
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
dt = new DataTable();
da.Fill(dt);
}
}
}
StringBuilder output = new StringBuilder();
output.Append("[");
for (int i = 0; i < dt.Rows.Count; ++i)
{
output.Append("'"" + dt.Rows[i]["Name"].ToString() + "'"");
if (i != (dt.Rows.Count - 1))
{
output.Append(",");
}
}
output.Append("];");
return output.ToString();
}
您没有提供.aspx代码中的标记。但最有可能的ID是为您生成的文本框是不同的,由于ClientIdMode。如果不确定,可以查看生成的HTML。
你应该做的是将TextBox的ClientIdMode设置为Static。那么客户端的ID将是"txtName"。
<asp:TextBox runat="server" id="txtName" ClientIdMode="Static" />
有关更多信息,请参见MSDN ASP。. NET Web服务器控制标识。
你可以在web.config中为所有页面上的所有控件设置ClientIdMode。
<configuration>
<system.web>
<pages clientIDMode="Static"></pages>
</system.web>
</configuration>
我这里有这个的路线。
另一种方法是把ASP。. NET内联为JavaScript提供ClientId。这样做的好处是,如果出于某种原因删除或重命名txtName,它将导致编译错误,而不是在运行时静默失败。
$("#<%= txtName.ClientID %>").autocomplete();
Try with:
$("#ContentPlaceHolder1_txtName").autocomplete({
source: ds
});
你的文本框的id可能会被识别为ContentPlaceHolderID后面跟着"_"和你的文本框id。尝试使用Chrome检查器,看看你的TextBox标识的id
相关文章:
- asp.net网站文件下载历史记录
- 突然间我可以't登录ASP.Net网站
- 使用HTML和任何服务器端语言(PHP,.net,ruby)制作的网站是否可以在每个具有浏览器的设备上工作
- 在Asp.net的空网站中,如何改变"Web.config”;使内容(.js)文件显示在浏览器中,而不是下载
- 如何在asp.net中自动注销我的网站10分钟后,在我的网站处于空闲状态
- 实现已验证用户更新状态的最佳方式,作为对系统中已更改状态的反应.(ASP.NET MVC网站)
- 如何使Asp.net网站同时在IE 11(非可比模式)和IE 8中工作
- jquery.min.js版本冲突在asp.net网站中不起作用
- 根据用户在asp.net网站中选择的弹出窗口使用JavaScript操作网页
- MVVM Javascript&传统的ASP.NET MVC网站
- 创建一个浏览器以在 ASP.NET 的网页中加载网站
- 将此javascript添加到 Asp.Net 网站的最佳方法
- 如何在 asp.net 中限制用户在单台计算机上访问网站
- ASP.net 3.5 将现有网站转换为响应式设计
- 如何查看我的 asp.net 网站的实时访问者数量
- 需要有关使用 ASP.Net 或 JavaScript 将图像复制到网站剪贴板的帮助
- 标签式网站在 ASP.NET,想打印所有这些,推荐.
- 如何在用户进入asp.net网站一段时间后生成弹出窗口
- 如何启动Asp.net按钮点击远程网站
- 如何使旧的Twitter API方法在ASP.Net网站上工作