我在自动完成方面遇到了麻烦

时间:2015-11-13 07:54:09

标签: c# linq autocomplete

感谢您阅读我的问题 我正试图为文本框设置自动完成,但我没有得到我想要的东西我想我的linq必须有某种问题
这是我的代码

 private AutoCompleteStringCollection GetLinqDataSourceForString(string p)
    {
        var c = new AutoCompleteStringCollection();
        c.Add(p + Getauto(txtSearch.Text));
        return c;
    }

private void txtSearch_TextChanged(object sender, EventArgs e)
    {
        txtSearch.AutoCompleteSource = AutoCompleteSource.CustomSource;
        txtSearch.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        txtSearch.AutoCompleteCustomSource = GetLinqDataSourceForString(txtSearch.Text);
    } 

这是我的linq,它应该从Data Base获取数据

    public string AutoUpdate(string _search)
    {
        using (var context = new Phone_BookEntities1())
        {
            var c = (from d in context.Cantacts
                     where d.Cantact1 == _search
                     select d.Cantact1).SingleOrDefault();
            return c;
        }
     }

我的问题在哪里? 请帮忙,Tnx

1 个答案:

答案 0 :(得分:0)

  

如果我们写(cat)它会输入(catcat)

p解释说,您可能不希望在此处追加Getautop应该使用where而不是

  

当我们键入(c)它应该带猫但它不会给你输入时你不能给我们任何选择

您的where d.Cantact1 == _search 正在进行全面比较

where d.Cantact1.StartsWith(_search)

这可能需要使用StartsWith

$('form').data('validator', null);
$.validator.unobtrusive.parse($('form'));