Узнайте личность отправителя запроса - AJAX Auto Complete Extender

это типичный веб-метод, который я использую в качестве источника данных для расширителя автозаполнения 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);
}

поэтому этот метод будет обслуживать AutoCompleteExtendr на странице aspx.

я хотел бы узнать, какой из расширителей ajax AC запрашивает источник, чтобы я мог каким-то образом использовать один и тот же метод для более чем одного элемента управления.

если бы я знал, кто это, я мог бы 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>

так что если у меня их несколько с разными запросами

все, что мне нужно, это знать, кто из них был уволен.

Спасибо.


person LoneXcoder    schedule 18.12.2012    source источник


Ответы (1)


Взгляните на свойство ContextKey, которое можно использовать для передачи дополнительной информации с веб-страницы в веб-метод.

Подпись веб-метода должна быть изменена, чтобы соответствовать ContextKey.
Здесь - http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx

person shahkalpeshp    schedule 18.12.2012
comment
@shakalpesh вы спаситель жизни, держу пари, не так много разработчиков знали об этом, я изучал это (эта ссылка для всех параметров), правда, только когда впервые работал с расширителем AC, и даже сейчас, когда вы говорите мне, где найти имя существующего параметра именно для того, что я искал, это не очень хорошо объяснено, используйте этот contextKey в качестве дополнительных настраиваемых параметров... и т. д. и дайте пример использования..., а также я не мог сказать, какие ключевые слова использовать, я использовал обратный вызов C # asp.net catch ajax autocomplete и многие другие попытки для поискового запроса ... спасибо !! - person LoneXcoder; 18.12.2012
comment
@LoneXcoder: я рад помочь. Я не работал с расширителем переменного тока. Я нашел это, чтобы посмотреть на свойства и посмотреть, есть ли способ сделать это, и ContextKey, похоже, сделал то, что вы ищете. - person shahkalpeshp; 18.12.2012
comment
@shakalpesh, тогда опыт в этом мире программирования, способность понимать еще не согласованы с моей стороны ... мне даже трудно сказать, что я имею в виду .. основы, которые вы знаете, взглянув на это еще раз , это похоже на просмотр объяснений msdn, это не настоящий английский. как я вам скажу, тигр - хитрый зверь, когда вы не знаете, что такое зверь, любыми способами глядя на него снова и снова, он на самом деле не направляет новичка-разработчика, как его клиентов / аудиторию, это похоже на многих местах, поэтому я учусь в учебниках и блогах или статьях хороших людей. - person LoneXcoder; 19.12.2012