Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 母版页中的自动完成扩展程序_Asp.net_Asp.net Ajax - Fatal编程技术网

Asp.net 母版页中的自动完成扩展程序

Asp.net 母版页中的自动完成扩展程序,asp.net,asp.net-ajax,Asp.net,Asp.net Ajax,我浏览了很多论坛、帖子等,但没有找到关于这个的好答案。 我正在尝试将自动完成扩展程序添加到文本框中,并向用户显示一些提示。 在内容页中放置此代码时,一切正常。但是我有大约10个基于一个母版页的内容页,所以在每个母版页上重复代码是完全愚蠢的 网上有一些答案,但它们只是部分答案,请检查您是否希望: 这是我的密码: 母版页: <asp:ScriptManager ID="ScriptManager1" runat="server"> <Services>

我浏览了很多论坛、帖子等,但没有找到关于这个的好答案。 我正在尝试将自动完成扩展程序添加到文本框中,并向用户显示一些提示。 在内容页中放置此代码时,一切正常。但是我有大约10个基于一个母版页的内容页,所以在每个母版页上重复代码是完全愚蠢的

网上有一些答案,但它们只是部分答案,请检查您是否希望:

这是我的密码:

母版页:

<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中