自动完成AJAX不工作
问题描述:
我正在使用来自AjaxControlToolkit的AutoCompleteExtender
在TextBox
上。自动完成AJAX不工作
简单地说,当我拖上我的文本框掉落AutoCompleteExtender
工具,然后单击“添加自动完成页面的方法”,我得到以下错误:
Cannot create page method "GetCompletionlist because no CodeBehind or CodeFile was found!
谷歌搜索的错误后,我基本上创建了自己的Web服务AutoCompel.asmx。以下是该类的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace AutoCompleteTest
{
/// <summary>
/// Summary description for AutoComplete
/// </summary>
[WebService(Namespace = "http://microsoft.com/webservices/")]
[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
{
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
// 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();
}
}
}
当然,上面是虚拟数据....稍后,我将从数据库中获取数据。
而且我Default.aspx的是这样的:
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
From
<asp:TextBox ID="txtFrom" runat="server">
</asp:TextBox>
<asp:AutoCompleteExtender runat="server"
ID="txtFrom_AutoCompleteExtender"
TargetControlID="txtFrom"
ServiceMethod="GetCompletionList"
ServicePath="AutoComplete.asmx"
MinimumPrefixLength="2"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="20"
DelimiterCharacters=";, :"
ShowOnlyCurrentWordInCompletionListItem="true">
</asp:AutoCompleteExtender>
当我运行的网站....并在文本框中键入,没有任何反应。不显示扩展程序。即使我输入“星”。
我错过了什么,为什么我一开始就得到这个错误?
P.S.我在我的大学计算机上,所以我认为这个错误可能是由于我使用的网络类型。不确定。
任何帮助非常高度高度赞赏!
谢谢。
答
我明白了。这是我如何修复它:
我的项目是在Visual Studio中的“网站应用程序”。当我简单地做了一个“网站”项目时,它一切都很完美......我不知道为什么,它只是做了。
因此,如果其他人有相同的问题,请尝试将代码移植到“网站”项目而不是“网站应用程序”项目。
希望有所帮助。
我知道它的工作。我基本上做了一个网站而不是一个网站应用程序。出于某种原因,解决了这个问题。 – Subby 2011-12-24 18:13:36
你真的应该发布这个答案。 – 2011-12-24 23:26:24