これは、Ajax autoComplete Extender の dataSource として使用している典型的な 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 Extender がソースを要求しているかを調べたいので、どうにかして複数のコントロールに同じメソッドを使用できます。
それが誰であるかがわかれば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>
したがって、いくつかの異なる要求を持つそれらのいくつかがある場合
私が必要とするのは、それらのどれが解雇されたかを知ることだけです。
ありがとう。