代码之家  ›  专栏  ›  技术社区  ›  AboutDev

ASP.NET 3.5 Ajax AutoCompleteExtender-如何让它填充所有控件?

  •  0
  • AboutDev  · 技术社区  · 16 年前

    序言:

    我使用的是ASP.NET 3.5和AjaxControlToolkit。我正试图在我编写的控件(地址控件)上使用AutoCompleteExtender。

    地址控件有一组文本框,如Address1、Address2、City、Zip和下拉列表,如State和Country。

    脚本:

    我希望用户开始输入地址1,然后向他们显示与他们输入的地址匹配的其他地址。如果他们选择了一个,我需要所有其他的文本框和下拉列表来填充这些信息。另外,我需要他们选择的地址行的主键,以便在后台代码中显示,这样我们就不会复制数据,只需添加对该ID的引用。

    我希望这是有道理的。

    到目前为止,我已经创建了scriptmanager、webservice和autocompletextender。

    <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Services>
            <asp:ServiceReference Path="EntityService.asmx" />
        </Services>
    </asp:ScriptManager>
    
    <ajax:AutoCompleteExtender 
        runat="server" 
        ID="autoComplete1" 
        TargetControlID="txtAddress1"
        ServiceMethod="GetAddressList"
        ServicePath="EntityService.asmx"
        MinimumPrefixLength="2" 
        CompletionInterval="500"
        EnableCaching="true"
        CompletionSetCount="20" 
        CompletionListCssClass="autocomplete_completionListElement" 
        CompletionListItemCssClass="autocomplete_listItem" 
        CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
        DelimiterCharacters=";, :"
        ShowOnlyCurrentWordInCompletionListItem="true">
    </ajax:AutoCompleteExtender>
    

    对于如何正确地填充此控件集合,我们非常感谢您的任何建议。

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   AboutDev    16 年前

    我自己找到了解决办法。在单击下拉列表时可以绑定到一个事件,并让Web服务返回一个ID字段作为事件参数的一部分。然后使用它调用另一个返回带有值的复杂类型的Web服务。最后,使用javascript将这些值分配给所有控件。

    简单的花生柠檬吱吱声!