gpt4 book ai didi

c# - "where"LINQ 语句中的 LIKE 导致错误

转载 作者:行者123 更新时间:2023-12-03 03:17:53 25 4
gpt4 key购买 nike

ProductModel.cs :(类)

public List<Product> GetSearchedProduct (string Name)
{
try
{
using (garagedbEntities db = new garagedbEntities())
{
List<Product> products = (from x in db.Products
where x.Name LIKE @txtSearch
select x).ToList();
return products;
}
}
catch (Exception)
{
return null;
}
}

search.aspx :

 <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master"   AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Button" OnClick="btnSearch_Click" />

<br />

<asp:Panel ID="pnlProducts" runat="server">
<br />
</asp:Panel>
<div style="clear:both"></div>

这是我的search.aspx文件。其实我想得到 product 的名字来自TextBox然后将其传递给检索 products 的方法.

最佳答案

在 linq 中你应该使用 Contains :

List<Product> products = (from x in db.Products
where x.Name.Contains(Name)
select x).ToList();

编辑:要使用该方法,您应该创建一个 ProductModel 的新实例,然后调用 GetSearchedProduct 方法并发送 txtSearch 作为它的参数。像这样:

protected void btnSearch_OnClick(object sender, EventArgs e)
{
ProductModel pr = new ProductModel();
var result = pr.GetSearchedProduct(txtSearch.Text);
}

关于c# - "where"LINQ 语句中的 LIKE 导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34663564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com