2012-12-18 41 views
0

這是一個典型的WebMethod我使用作爲Ajax的自動完成擴展找出請求發送者的身份 - AJAX自動完成擴展

[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); 
} 

一個DataSource所以這種方法將服務AutoCompleteExtendr在aspx頁面。

我想找出哪一個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> 

所以控制的一個例子,如果我有幾個人有一些不同的請求

我需要的是知道他們中的哪一個被解僱。

謝謝。

回答

1

看看ContextKey屬性,它可以用來將其他信息從網頁傳遞到Web方法。

webmethod的簽名將不得不修改,以適應ContextKey
這裏 - http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx

+0

@shakalpesh **你是一個生命的救星**,我敢打賭,沒有那麼多的開發者知道這件事,我沒有考慮它(此鏈接爲所有參數)雖然只在第一次與AC延長工作,甚至現在當你告訴我在哪裏可以找到我正在查找的現有參數的名稱時,它不是很好解釋「使用這個contextKey作爲你的額外的自定義參數...等等」,並給一些examlple用法...,我也不知道要使用哪些關鍵字,我確實使用「c#asp.net catch ajax autocomplete callback」,並且許多其他人嘗試搜索術語......謝謝! – LoneXcoder

+0

@LoneXcoder:我很樂意提供幫助。我沒有使用AC延長器。我發現的方式是查看屬性,看看是否有辦法做這樣的事情,而'ContextKey'似乎正在做你正在尋找的東西。 – shahkalpesh

+0

@shakalpesh,這是在這個編程世界的經驗,理解的能力還沒有在我身邊得到認同...我發現它甚至很難說我的意思..基本知識你有看看它再次,就像審查MSDN解釋它不是真正的英語。因爲我會告訴你,當你不知道什麼是野獸時,一隻老​​虎是一隻被困住的野獸,任何方式都會再次看到它,它並不真正指導新手開發者,因爲它是客戶/觀衆,就像在許多地方,這就是爲什麼我在學習教程和漂亮的人文社會博客或文章 – LoneXcoder