【问题标题】:AutoCompleteExtender questions自动完成扩展问题
【发布时间】:2010-10-05 22:24:27
【问题描述】:

我正在为我的 ASP.NET 项目使用 AutoCompleteExtender,它正在拉动字段以正常显示。但是,当用户选择自动完成建议时,我需要从行中提取另一个字段(作为主键的“ID”列)的函数,因为那是用于显示相关数据的必要字段。

这是我的代码

public string[] GetAutoComplete(string prefixText)
        {
            int count = 10;
            string sql = "SELECT * FROM SageAccount WHERE Name LIKE @prefixText";
            SqlDataAdapter da = new SqlDataAdapter(sql, "My Connection String(changed due to personal info being shown)");
            da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).Value = prefixText + "%";
            DataTable dt = new DataTable();
            da.Fill(dt);
            string[] items = new string[dt.Rows.Count];
            int i = 0;
            foreach (DataRow dr in dt.Rows)
            {
                items.SetValue(dr["Name"].ToString(), i);
                i++;
            }
            return items;
        }

编辑:我正在尝试一些修改过的代码:

public string[] GetAutoComplete(string prefixText, int count)
{
    string sql = "SELECT * FROM SageAccount WHERE Name LIKE @prefixText";
    SqlDataAdapter da = new SqlDataAdapter(sql, "Con string");
    da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).Value = prefixText + "%";
    DataTable dt = new DataTable();
    da.Fill(dt);
    List<string> Names = new List<string>();
    //string[] items = new string[dt.Rows.Count];
    int i = 0;
    foreach (DataRow dr in dt.Rows)
    {
            Names.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(dr["Name"], dr["ID"].ToString());
        //items.SetValue(dr["Name"].ToString(), i);
    }
    return Names.ToArray();

我在这里遇到的问题是它给了我错误:

'AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItems(string, string)' 的最佳重载方法匹配有一些无效的争论'

有什么想法吗?非常感谢

【问题讨论】:

    标签: asp.net ajax autocomplete


    【解决方案1】:

    我过去曾使用隐藏字段来保存选定的 ID。查看HERE 或者去谷歌看看如何使用隐藏字段,我现在没有代码。

    编辑 2:检查您是否期望新方法上有一个 int 参数,并且您正在调用发送一个字符串。和 .. 检查您是否正在调用另一个名为 CreateAutoCompleteItems 的方法,它似乎是缺失的

    【讨论】:

    • 干杯哥们。我已经更新了一些代码,因为我遇到了一些麻烦。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多