Entity Framework 搜索功能 ASP.NET 网络表单

Entity Framework Search Function ASP.NET Webforms

我有一个包含服装产品的 SQL2014 数据库。

数据库集成在 ASP.NET webforms 网站中,使用 gridviews、formviews、repeater 和现在 entity framework。

我希望在网站上有一个简单的搜索功能,用户可以搜索产品的部分名称,然后将产品名称显示在列表中(数据库字段称为'Name')

我有一个文本框控件 (txtWord)、按钮 (btnSearch) 和转发器 (rptrSearch) 来显示结果。

然后我向按钮添加了一个方法,我认为应该可以显示搜索结果,但是我什么也没得到。

C#代码

protected void btnSearch_Click(object sender, EventArgs e)
    {
        string searchWord = txtWord.Text;

        ZaraEntities db = new ZaraEntities();

        var results = db.Products.Where(p => p.Name == searchWord);

        rptrSearch.DataSource = results.ToList();
        rptrSearch.DataBind();

    }

HTML

<asp:TextBox ID="txtWord" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Button" />
<asp:Repeater ID="rptrSearch" runat="server">
    <HeaderTemplate>
        <div>
    </HeaderTemplate>

    <ItemTemplate>
        <div>
        </div>
    </ItemTemplate>

    <FooterTemplate>
        </div>
    </FooterTemplate>
</asp:Repeater>

代码有问题吗and/or是不是和我的中继器空白有关?

您希望数据显示在圣殿骑士中吗?在这种情况下,您需要向模板添加控件并向它们添加数据绑定表达式

编辑 你可以尝试在代码隐藏中找到控件然后数据直接绑定到代码隐藏中的控件

又一次编辑this may help

您似乎在尝试完全匹配数据字段,而不是您指定的部分名称。
以下代码段显示了如何使用 Contains 运算符获取部分字段查找。

试试这个:

var results = from p in db.Products
   where p.Name.Contains(searchWord)
   select p;