我在ASP.Net网络应用程序中有一个内容页面。
我试图使用Jquery UI Autocomplete。但它不起作用。这个页面有什么问题?这是我的代码:
<asp:Content ID="Content3" ContentPlaceHolderID="contentMainBody" runat="server" >
<link href="Atlas_Css/menu.css" rel="stylesheet" type="text/css" />
<link href="Atlas_Css/jquery.simplyscroll.css" rel="stylesheet" type="text/css" media="all" />
<link href="Atlas_Css/Jquery%20UI.css" rel="stylesheet" type="text/css" />
<script src="JS_AtlasFly/jquery.js" type="text/javascript"></script>
<script src="Scripts/Validations.js" type="text/javascript"></script>
<script src="JS_AtlasFly/jquery.simplyscroll.js" type="text/javascript"></script>
<script src="JS_AtlasFly/jquery.simplyscroll.min.js" type="text/javascript"></script>
<script src="JS_AtlasFly/js-image-slider.js" type="text/javascript"></script>
<script src="JS_AtlasFly/accordian.pack.js" type="text/javascript"></script>
<script src="JS_AtlasFly/jquery-1.9.1.js" type="text/javascript"></script>
<script src="JS_AtlasFly/jquery-ui.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function ()
{
var availableTags = [ <%= PassFname %> ];
$("#txtFname" ).autocomplete({
source: availableTags
});
}
</script>
<div id="testDiv" runat="server">
<asp:Label ID="lblName" runat="server" Text="F Name"></asp:Label> <asp:TextBox ID="txtFname" runat="server"></asp:TextBox>
</div>
注意:服务器端变量PassFname,我在后面的代码中填充。
在普通的asp.Net页面中,不使用母版页(在同一个项目中),自动完成功能正常。
这个页面有什么问题?是因为母版页? 这是什么解决方案?
由于代码背后的代码在另一个页面中起作用,因此我不在此处。我也在这里检查了它,在页面加载时填充了字符串变量。只有自动填充不具有约束力。
任何帮助将不胜感激。
答案 0 :(得分:0)
我找到了解决方法。我直接使用了TextBox的clientId 的JavaScript。
像这样: $("#ctl00_contentMainBody_txtFname").autocomplete({
source: availableTags
});
解决了自动完成与文本框ID的绑定。
BTW,使用&lt;%= txtFname.ClientID%&gt;没有解决问题。而是页面停止渲染。
所以我使用了来自页面源的客户端ID,它可以工作。
感谢所有