Jquery自动完成功能无法在asp.net中运行

时间:2014-07-28 12:07:50

标签: asp.net jquery-ui jquery-autocomplete

我在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页面中,不使用母版页(在同一个项目中),自动完成功能正常。

这个页面有什么问题?是因为母版页? 这是什么解决方案?

由于代码背后的代码在另一个页面中起作用,因此我不在此处。我也在这里检查了它,在页面加载时填充了字符串变量。只有自动填充不具有约束力。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。我直接使用了TextBox的clientId 的JavaScript。

像这样:

 $("#ctl00_contentMainBody_txtFname").autocomplete({
              source: availableTags
          }); 

解决了自动完成与文本框ID的绑定。

BTW,使用&lt;%= txtFname.ClientID%&gt;没有解决问题。而是页面停止渲染。

所以我使用了来自页面源的客户端ID,它可以工作。

感谢所有