这是我用作Ajax autoComplete Extender的数据源的典型webMethod
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod(EnableSession = true)]
public static List<string> FontNamesList_AutoCompDataSrc(string prefixText)
{
if (SeSn.CurrentSesionVariablsSet.FontList.Count == 0)
{
FntsList = ReflectMeths.anyClassFldsAsListByType<fntNamsClss>();
SeSn.CurrentSesionVariablsSet.FontList = FontsList;
SeSn.AddToCurrentSesseionVars(App.VariablesNames.FontsList,
SeSn.CurrentSesionVariablsSet.Fontlist);
}
else
{
if (SeSn.VarExist(App.VariablesNames.FontsList))
FontsList= SesnGetValAs.ListStr(App.VariableNames.FontsList);
else FontsList= SeSn.CurrentSesionVariablsSet.FontList;
}
return AutoComplete.FromListStr(prefixText, FontsList);
}
所以这个方法将在aspx页面中提供AutoCompleteExtendr。
我想知道哪个ajax AC Extenders正在请求源, 所以我可以以某种方式使用相同的方法进行多个控制。
如果我知道是谁,我可以switch
查询其身份并根据请求该服务的对象进行其他操作。
我希望我的英语很糟糕......
这是.aspx
文件
<cc1:ToolkitScriptManager ID="ToolKitScrptMan1" runat="server"></cc1:ToolkitScriptManager>
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" TargetControlID="TBX_FntsAC" runat="server"
MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1"
CompletionInterval="100" ServiceMethod="FontNamesList_AutoCompDataSrc"
FirstRowSelected="true" CompletionListCssClass="CL_Css_DataBase" CompletionListItemCssClass="CL_ItemCss_DataBase" CompletionListHighlightedItemCssClass="CL_tHighlightedItemCss_DataBase">
</cc1:AutoCompleteExtender>
所以,如果我有一些不同的请求
我所需要的只是知道他们中的哪一个被解雇了。
感谢。
答案 0 :(得分:1)
查看ContextKey
属性,该属性可用于将其他信息从网页传递到网络方法。
必须修改网络方法的签名以容纳ContextKey
在这里 - http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx