我有一个包含服装产品的SQL2014数据库。
该数据库被集成到一个ASP.NET webforms网站中,使用网格视图、表单、中继器以及现在的实体框架。
我希望在网站上有一个简单的搜索功能,用户可以在其中搜索产品的部分名称,然后在列表中显示产品名称(数据库字段称为“名称”)。
我有一个文本框控件(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();
}<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>代码是否有问题和/或是否与我的中继器为空白有关?
发布于 2015-03-09 12:21:17
看起来,您试图与数据字段完全匹配,而不是您指定的部分名称ans。
下面的片段演示如何使用Contains运算符进行部分字段查找。
试试这个:
var results = from p in db.Products
where p.Name.Contains(searchWord)
select p;发布于 2015-03-06 23:08:56
https://stackoverflow.com/questions/28908200
复制相似问题