2014-09-09 4 views
0

1) У меня есть текстовое поле для ввода начальных букв элемента и, 2) кнопка поиска, по щелчку которой отображается список, показывающий соответствующие запросы. 3) Я хочу преобразовать это в автозаполнение расширителя и хочу удалить список. Ниже мой код, который я пробовал:asp.net, C# autocomplete extender

[System.Web.Script.Services.ScriptMethod()] 
    [System.Web.Services.WebMethod] 
    public List<string> OnSearchEntity(string prefixText, int count) 
    { 
     List<string> outsideEntities = new List<string>(); 
     DataTable dtOutsideEntity = COIOrganizationCollection.GetOrganizations(prefixText); 

     for (int i = 0; i < dtOutsideEntity.Rows.Count; i++) 
     { 
      outsideEntities.Add(dtOutsideEntity.Rows[i]["Name"].ToString()); 
     } 
     return outsideEntities; 
    } 

но он показывает ошибку:

Ошибка 82 Нет перегрузки для «OnSearchEntity» соответствует делегату «System.Web.UI.ImageClickEventHandler»

Я также попытался изменить параметры, а именно.

public List<string> OnSearchEntity(object sender, ImageClickEventArgs e) 
    { 
     List<string> outsideEntities = new List<string>(); 
DataTable dtOutsideEntity =COIOrganizationCollection.GetOrganizations(entityName.Text.Trim()); 

     for (int i = 0; i < dtOutsideEntity.Rows.Count; i++) 
     { 
      outsideEntities.Add(dtOutsideEntity.Rows[i]["Name"].ToString()); 
     } 
     return outsideEntities; 
    } 

снова выдает ошибку: Error 3 «System.Collections.Generic.List имеет неправильный тип возвращаемого

любезно помочь или предложить правильный путь для этого преобразования.

+0

контрольное событие имеет тип возврата void, те же строки кода в событии могут выполняться много раз, вы можете добавлять в него параметры, используя выражение лямбда – Charlie

+0

, можете ли вы привести мне пример? – user3931799

ответ

0

Пропустить Список внешних событий в аргументы с использованием выражения Lambda, он будет автоматически изменен после того, как событие будет запущено. Не нужно возвращать этот список. Вы можете использовать этот пример и изменить его для Вашего мероприятия

lnkSynEvent.Click += 
       new EventHandler((s,e)=>lnkSynEvent_Click(s, e, your_parameter)); 

Будьте осторожен то же линии могут получить ту или иную строчку manytimes в случае, даже событие вызываются только один раз

+0

это событие не имеет определения для «click» – user3931799

+0

, что является просто примером. Вы должны использовать его как свое требование. forexample Image.ImageClick + = new ImageClickEventHandler ((s, e) => OnSearchEntity (s, e, outsideEntities) – Charlie

+0

Благодарим вас за ответ. – user3931799

0

был потому, что ошибка: я использовал изображение на событии клика, и для той же функции я использовал его для двух разных типов параметров, а именно:

onsearch (отправитель, EventArgs е), и onsearch (строка а, граф INT)

в моем случае я мог бы удалить кнопку, так как я был преобразовав его автозаполнение расширителя так кнопка поиска была не требуется.

Благодарим вас за помощь!

Смежные вопросы