【问题标题】:Ajax Toolkit AutoCompleteExtenderAjax 工具包 AutoCompleteExtender
【发布时间】:2011-10-17 08:00:12
【问题描述】:

我想知道是否有办法使用 ajax 工具包 autocompleteextender 来挂钩多个文本框控件。

原因是我们有多个文本框控件,我不喜欢使用 8 个自动完成扩展器来执行相同的操作,因为所有 8 个都需要正确初始化等等,感觉更易于维护。

编辑:

我构造了一个初始化 autocompleteextender 对象并将每个对象传递给该方法的方法,所以我唯一需要为每个对象单独设置的就是 ID 和 TargetElementID。至少总比没有好,但我仍然希望有更好的解决方案。

【问题讨论】:

    标签: c# asp.net ajaxcontroltoolkit


    【解决方案1】:

    不是特定于该问题的答案,但我一直使用 Ajax Control 工具包自动完成扩展器,但后来我发现了 Jquery 扩展器,在我看来它要好得多,我认为你可以轻松地做你想做的事,尽管你'd 需要将它分配给 jQuery 中的每个控件,但您只需要 2 个函数,一个用于获取数据,一个用于处理结果。

    您执行以下类似操作:

      $(document).ready(function () {
    
        $('#<%=txtSearchBox.ClientID%>').autocomplete('/Search.ashx');
        $('#<%=txtSearchBox.ClientID%>').result(function (event, data, formatted) {
            if (data) {
    
                // Extract the data values
                var name = data[0]; // appears in textbox
                var dataval1= data[1];
                var dataval2= data[2];
    
    
                $("#<%=hdndataval1.ClientID%>").val(dataval1);
                $("#<%=hdndataval2 .ClientID%>").val(dataval2);
            }
        });
    
    });
    

    您确实必须使用隐藏字段来存储 id,但使用处理程序可以很好地自动完成。

        public void ProcessRequest(HttpContext context)
         {
              string prefixText = context.Request.QueryString["q"]; 
              //do your thing here and return as a bar separated list
              StringBuilder sb = new StringBuilder();
              foreach(Results res in results )
                {
                    sb.Append(String.Format("{0}|{1}|{2}", +res.Val1, res.Val2, res.Val3));
                    sb.Append(Environment.NewLine);
                }
              context.Response.Write(sb.ToString());
         }
    

    JQuery 是here(我认为)

    必须承认我曾经对那个控件工具包发誓,但是在被介绍给 Jquery 之后,我发现了很多我认为更好的控件!

    只是想我会向你的方向抛出一个不同的选择!

    【讨论】:

    • 谢谢,我已经研究过了,感觉它是一个更可行的解决方案,ajaxtoolkit 中的那个似乎不会让你自定义它的大部分行为。
    • 很高兴能帮上忙!当你需要使用 ajax 时,一定要看看其他可用的 Jquery 控件。有一些很棒的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 2010-10-18
    • 2011-07-18
    相关资源
    最近更新 更多