ASP.NET 3.5 AJAX AutoCompleteExtender - как мне заполнить все элементы управления? - PullRequest
0 голосов
/ 31 марта 2009

Преамбула:

Я использую ASP.NET 3.5 и AJAXControlToolkit. Я пытаюсь использовать AutoCompleteExtender для пишущего элемента управления, который является элементом управления Address.

Элемент управления Address содержит несколько текстовых полей, таких как Address1, Address2, City, Zip, и раскрывающихся списков, таких как State и Country.

Сценарий:

Я бы хотел, чтобы пользователь начал вводить адрес Address1, а затем показал ему другие адреса, которые соответствуют тому, что они ввели. Если они выберут одну, мне понадобятся все остальные текстовые поля И выпадающие списки, чтобы заполнить эту информацию. Кроме того, мне нужен первичный ключ для той строки адреса, которую они выбрали, чтобы она отображалась в моем коде за кулисами, чтобы мы не дублировали данные, просто добавив ссылку на этот идентификатор.

Надеюсь, это имеет смысл.

На данный момент я создал ScriptManager, WebService и AutoCompleteExtender.

<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 Ответ

1 голос
/ 08 апреля 2009

Ну, я нашел решение сам. Существует событие, к которому вы можете привязать щелчок для раскрывающегося списка, и веб-служба вернет поле идентификатора как часть аргумента события. Затем используйте это для вызова другого веб-сервиса, который возвращает сложный тип со значениями. Наконец, используйте javascript, чтобы назначить эти значения всем элементам управления.

Легкий гороховый лимон!

...