asp.net,c#自动完成扩展程序

本文关键字:扩展 程序 net asp | 更新日期: 2023-09-27 18:21:06

1)我有一个文本框来输入项目的首字母,2) 一个搜索按钮,点击该按钮会出现一个显示匹配搜索的列表框。3) 我想将其转换为自动完成扩展程序,并删除列表框。以下是我尝试过的代码:

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

它再次给出错误:错误83"System.Collections.Generic.List的返回类型错误

请帮忙,或者建议正确的转换方式。

asp.net,c#自动完成扩展程序

使用Lambda表达式将外部实体列表传递到参数中,一旦触发事件,它将自动更改。无需返回此列表。您可以使用此示例并将其更改为您的活动

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

请注意,在事件中,相同的行可能会多次被删除,即使事件只触发一次

错误是因为:我在点击事件中使用了图像按钮,对于相同的功能,我将其用于两种不同类型的参数,即。

onsearch(发送方,事件参数e),和onsearch(字符串a,int count)

在我的情况下,我可以删除按钮,因为我正在将其转换为自动完成扩展器,所以不需要搜索按钮。

谢谢你的帮助!