Ajax AutocompleteExtender麻烦

时间:2015-04-28 11:23:13

标签: c# asp.net ajax

我一整天都在与阿贾克斯挣扎,没有运气。我知道之前已经问过这个问题标题,但是我一直在倾诉其他很多关于这个问题的帖子,没有一个能为我提供解决方案。让我们从最简单的场景开始。

安装了Ajax Toolbox 15.1之后,我创建了一个新的Web应用程序,从默认页面删除内容,将文本框放到其上,然后尝试将Ajax AutoCompleteExtender放到文本框中。结果=对网页完全没有影响。 Toolbox具有所有AjaxControlToolkit.15.1,但是没有任何Ajax控件可以拖动到任何表单上。 (可以正确拖动其他控件 - 只有AjaxControlToolkit控件无效)

转到更复杂的场景,我尝试通过向项目添加对AjaxControlToolkit的引用来手动实现它 - 这需要HDD搜索来查找dll,并添加对此的引用。

手动添加引用后,我可以创建一个新页面,通过编辑aspx源,我可以创建一个构建和运行但不能正常运行的AjaxCompleteExtender。如果我将AjaxCompleteExtender连接到Web服务,它什么都不做。如果我将它连接到本地函数,它会给出一个奇怪的自动完成条目列表,如下所示......

<
D
O
C
T
Y
P
E
h
t
m
... etc...

我在ServiceMethod函数中添加了断点,但它们永远不会被调用。

以下是具有页内功能的版本的网页。

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>

<asp:TextBox ID="txtBox" runat="server"></asp:TextBox>
<asp:AutoCompleteExtender ServiceMethod="AutoCompleteSymbol"
    MinimumPrefixLength="2"
    CompletionInterval="100" EnableCaching="false" CompletionSetCount="10" 
    TargetControlID="txtBox"
    ID="AutoCompleteExtender1" runat="server" FirstRowSelected = "false">
</asp:AutoCompleteExtender>

以下是此页面背后的代码。

namespace Jug2013
{
    public partial class TestForm : System.Web.UI.Page
    {
        [WebMethod]
        [ScriptMethod]
        public static string[] AutoCompleteSymbol(string partial, int count)
        {
            var retval = new List<string>();
            retval.Add("Hello");
            retval.Add("Hello2");
            retval.Add("Hello3");
            return retval.ToArray();
        }
    }
}

我已经多次针对在线示例检查了此版本的代码和Web服务版本,并尝试了我在示例代码中找到的许多不同的变体。在最后的绝望中,我已经卸载并重新安装了Ajax,但在任何地方都没有运气。

0 个答案:

没有答案