ajaxToolkit:AutoCompleteExtender的自定义参数(contextKey)
2011-03-01 10:25
351 查看
它的基本用法请参阅我的另一篇文章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 的触发选择(选中)事件
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 的触发选择(选中)事件
相关文章推荐
- AjaxControlToolkit之AutoCompleteExtender控件
- ajaxToolkit:AutoCompleteExtender 用法详解
- ajaxToolkit:AutoCompleteExtender 的触发选择事件以及JSON序列化和使用键值对
- ajaxToolkit:AutoCompleteExtender 的触发选择(选中)事件
- ajaxToolkit:AutoCompleteExtender 的触发选择事件以及JSON序列化和使用键值对
- 轻松Ajax.net实例教程3_AutoCompleteExtender(按AjaxControlToolkit字母排序)
- 体验AJAX Toolkit新控件:AutoCompleteExtender
- ajaxToolkit:AutoCompleteExtender 用法详解
- AJAX ControlToolkit学习日志-AutoCompleteExtender(4)
- ajaxToolkit:AutoCompleteExtender 的触发选择事件以及JSON序列化和使用键值 3ff8 对
- Ajax Toolkit 控件学习系列(6) ——AutoCompleteExtender 使用
- ajaxToolkit:AutoCompleteExtender 用法详解
- ajaxControlToolkit---AutoCompleteExtender的简单用法
- ajaxToolkit:AutoCompleteExtender 用法详解
- asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法
- 定制AjaxControlToolkit:给CalendarExtender增加清除功能
- ajaxToolkit FilteredTextBoxExtender控件的用法
- ASP.NET AJAX Control Toolkit 新扩展特性:AutoCompleteExtender
- asp.net ajax 使用AutoCompleteExtender开发自动完成功能