在用户控件中使用AutoCompleteExtender控件,来实现类似类似于google搜索工具的自动完成功能。在用户控件topbar中定义了
1)搜索关键字输入匡
<input onclick="this.value == '搜索 24doings.com' ? this.value = '' : true" size="18" value="搜索 24doings.com" id="key" autocomplete="off" onkeyup="beKeyUp();"/>
2)AutoCompleteExtender 控件
<cc2:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
ServiceMethod="GetCompleteList"
ServicePath="../WebService/AutoCompleteSuggestDoings.asmx"
Enabled="true"
MinimumPrefixLength="2"
CompletionSetCount="10"
TargetControlID=key>
</cc2:AutoCompleteExtender>
问题:
页面运行时提示key的控件找不到:The TargetControlID of 'AutoCompleteExtender1' is not valid. A control with ID 'key' could not be found.
原因应该是用户控件在页面动态生成类似于“XXX_key”的标识,导致无法识别。
但控件中又不能使用<%=key.UsersID%>的方式来获取控件标识。
请问怎么样才可以在用户控件里面使用这个AutoCompleteExtender控件?
1)搜索关键字输入匡
<input onclick="this.value == '搜索 24doings.com' ? this.value = '' : true" size="18" value="搜索 24doings.com" id="key" autocomplete="off" onkeyup="beKeyUp();"/>
2)AutoCompleteExtender 控件
<cc2:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
ServiceMethod="GetCompleteList"
ServicePath="../WebService/AutoCompleteSuggestDoings.asmx"
Enabled="true"
MinimumPrefixLength="2"
CompletionSetCount="10"
TargetControlID=key>
</cc2:AutoCompleteExtender>
问题:
页面运行时提示key的控件找不到:The TargetControlID of 'AutoCompleteExtender1' is not valid. A control with ID 'key' could not be found.
原因应该是用户控件在页面动态生成类似于“XXX_key”的标识,导致无法识别。
但控件中又不能使用<%=key.UsersID%>的方式来获取控件标识。
请问怎么样才可以在用户控件里面使用这个AutoCompleteExtender控件?
解决方案 »
- 关于C#url隐式跳转,问题,请大家指点。
- [100分大放送]紧急问题求救
- 怎么通过反射机制反射出源码?
- 大家看一下新浪财经首页左边栏顶部的带有1、2、3、4循环滚动的图片是怎么搞出来的?
- 带格式导出到excel模板
- 自定义MemberShipProvider提供程序中,如何重新调用自定义的多态ValidateUser方法?
- ZipOutputStream压缩的问题。C++那边获取不到文件信息照成无法解压
- 满分求突然想到的DataGrid的一个问题,如何在不改变样式的前提下在DateGrid最后一行换成别的内容
- 问兄弟们几个简单的问题
- 怎样才能用VS2005编译出在.net framework1.1下可以正确运行的网站?
- 如何实现web.sitemap中一个子节点与数据库同步
- 大型的网站广告系统
呜呜 请大家帮帮忙啦
接下来还有一个问题,想继续请教:编译时有错误提示:元素“ScriptManager”不是已知元素。原因可能是网站中存在编译错误。
我下载AjaxControlToolkit范例来编译,也会提示这个错误,不过AjaxControlToolkit可以编译通过。但是我的项目不能编译通过,调用此用户控件的页面会提示:未知的服务器标记“uc1:TopBar”。另查网上资料说只要在页面上加上<%@ Assembly Name="System.Web.Extensions" %>即可解决此问题,我在用户控件和调用此用户控件的页面都加上了这脚本都不能起效果。烦请再帮忙,感谢! 感谢!
代码如下:<%@ Control Language="C#" AutoEventWireup="true" CodeFile="TopBar.ascx.cs" Inherits="Control_TopBar" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<%@ Register Assembly="Doings.OnlineUser" Namespace="Doings.OnlineUser" TagPrefix="cc1" %>
<%@ Assembly Name="System.Web.Extensions" %>
<cc1:Script ID="Script1" runat="server">
<div id="topbar">
<div class="logo"> <a href="/Doings.Web/"><!-- 24doings logo --></a> </div>
<div class="main-link">
<a href="/Doings.Web/">首页</a>| <a href="/Doings.Web/Community/">社区</a>|
<%
if (usersDto == null)
{
%>
<a href="/Doings.Web/account/login.aspx">登陆/注册</a>
<%
}
else
{
%>
<a href="/Doings.Web/person/?ui=<%=usersDto.UsersID%>">我的<%=usersDto.DoNumber%>件事</a>| <a href="/Doings.Web/account/logout.aspx?ul=<%=ul%>">注销登录</a>
<%
}
%>
</div>
<form action="/Doings.Web/search.aspx" method="get">
<div class="main-search">
<label><input onclick="this.value == '搜索 24doings.com' ? this.value = '' : true" size="18" value="搜索 24doings.com" id="key" autocomplete="off" onkeyup="beKeyUp();" runat="server"/></label>
<asp:ScriptManager runat="server" />
<ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
ServiceMethod="GetCompleteList"
ServicePath="../WebService/AutoCompleteSuggestDoings.asmx"
Enabled="true"
MinimumPrefixLength="2"
CompletionSetCount="10"
TargetControlID="key">
</ajaxToolkit:AutoCompleteExtender>
</div>
<div id="search_suggest" style="Z-INDEX:101;POSITION:absolute"></div>
<div class="main-search-submit"><input type="image" alt="搜索" src="/Doings.Web/style/images/top-search-go.png" /></div>
<div class="topbar-right"> </div>
</form>
</div>
</cc1:Script>