Asp.net 母版页中的自动完成扩展程序
我浏览了很多论坛、帖子等,但没有找到关于这个的好答案。 我正在尝试将自动完成扩展程序添加到文本框中,并向用户显示一些提示。 在内容页中放置此代码时,一切正常。但是我有大约10个基于一个母版页的内容页,所以在每个母版页上重复代码是完全愚蠢的 网上有一些答案,但它们只是部分答案,请检查您是否希望: 这是我的密码: 母版页:Asp.net 母版页中的自动完成扩展程序,asp.net,asp.net-ajax,Asp.net,Asp.net Ajax,我浏览了很多论坛、帖子等,但没有找到关于这个的好答案。 我正在尝试将自动完成扩展程序添加到文本框中,并向用户显示一些提示。 在内容页中放置此代码时,一切正常。但是我有大约10个基于一个母版页的内容页,所以在每个母版页上重复代码是完全愚蠢的 网上有一些答案,但它们只是部分答案,请检查您是否希望: 这是我的密码: 母版页: <asp:ScriptManager ID="ScriptManager1" runat="server"> <Services>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/AutoComplete.asmx" />
</Services>
</asp:ScriptManager>
<asp:TextBox runat="server" ID="TextBox1"></asp:TextBox>
<ajax:AutoCompleteExtender
ID="AutoCompleteExtender1"
runat="server"
TargetControlID="TextBox1"
ServiceMethod="GetCompletionList"
ServicePath="~/AutoComplete.asmx"
MinimumPrefixLength="1"
CompletionInterval="500"
CompletionSetCount="2">
</ajax:AutoCompleteExtender>
网络服务:
/// <summary>
/// Summary description for AutoComplete
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class AutoComplete : System.Web.Services.WebService
{
[WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] GetCompletionList(string prefixText, int count)
{
// Create array of movies
string[] movies = { "Star Wars", "Star Trek", "Superman", "Memento", "Shrek", "Shrek II" };
// Return matching movies
return (from m in movies where m.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase) select m).Take(count).ToArray();
}
}
//
///自动完成的摘要说明
///
[WebService(命名空间=”http://tempuri.org/")]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
//要允许使用ASP.NET AJAX从脚本调用此Web服务,请取消注释以下行。
[System.Web.Script.Services.ScriptService]
公共类自动完成:System.Web.Services.WebService
{
[网络方法]
[System.Web.Script.Services.ScriptMethod]
公共字符串[]GetCompletionList(字符串前缀文本,整数计数)
{
//创建一系列电影
string[]电影={《星球大战》、《星际迷航》、《超人》、《纪念品》、《史莱克》、《史莱克II》};
//返回匹配的电影
return(从电影中的m开始,其中m.StartsWith(prefixText,StringComparison.CurrentCultureIgnoreCase)选择m.Take(count.ToArray();
}
}
作为记录,我已经检查了Web服务,它工作得很好
p、 这是我的第一篇文章,如果我做错了什么,我感到非常抱歉。面临着类似的问题,但唯一的解决方案似乎是在内容页中编写Webmethod,AutoCompleteXtender及其相应的控件可以保存在masterpage中