它的基本用法请参阅我的另一篇文章ajaxToolkit:AutoCompleteExtender 用法详解,由于它的ServiceMethod 的参数形式是固定的, 所以没办法任意地添加自定义参数,这个方法共有两个重载形式:

public string[] ServiceMethod (string prefixText, int count)
public string[] ServiceMethod (string prefixText, int count,string contextKey)

其中第一个是基本用法,第二个多了个contextKey 参数,即可以让用户传递自己定义的参数的, 例如,我希望调用该方法时, 把页面上一个dropDownList 的值传过去, 示例如下:

<asp:TextBox ID="txtPersonInfo" runat="server" CssClass="TextBoxXW" onkeydown="return OnTxtPersonInfoKeyDown();"></asp:TextBox>

<ajaxToolkit:AutoCompleteExtender runat="server" ID="acName" TargetControlID="txtPersonInfo" ServicePath="cppw_Input_Ry.asmx" ServiceMethod="GetPersonInfoList" MinimumPrefixLength="1" CompletionInterval="1000"EnableCaching="true" CompletionSetCount="20" CompletionListCssClass="autocomplete_completionListElement"CompletionListItemCssClass="autocomplete_listItem"CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem" DelimiterCharacters=";, :" />

 

        function OnTxtPersonInfoKeyDown()

        {           

            var ddlBz=document.getElementById("<%=ddlBz.ClientID %>");

            var acNameClientId="<%=acName.ClientID %>";

            var acName=$find(acNameClientId);

            if(acName!=null)

                   acName.set_contextKey(ddlBz.options[ddlBz.selectedIndex].value);

        }

 

关键在于js 函数的最后一句,即在回传之前,设置它的值。

 

关于AutoCompleteExtender, 我还有另外一篇文章: ajaxToolkit:AutoCompleteExtender 的触发选择(选中)事件

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-20
  • 2022-01-05
  • 2021-07-25
  • 2022-01-18
  • 2021-11-06
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
  • 2021-11-15
  • 2021-10-27
  • 2022-12-23
相关资源
相似解决方案