2016-07-15 15 views
-2

検索バーを使用してresults.aspxの商品名をデータベースから取得しようとしていますが、回答者の番号で商品を取得するだけです。ここで検索バーasp.netで商品名を検索

は動作するコードです:

public IQueryable<Product> GetProduct([QueryString("srch")] int? ProductId) 
{ 
    var _db = new project.Models.ProductContext(); 
    IQueryable<Product> query = _db.Products; 
    if (ProductId.HasValue && ProductId > 0) 
    { 
     query = query.Where(p => p.ProductID == ProductId); 
    } 
    else 
    { 
     query = null; 
    } 
    return query; 
} 

しかし、私は、製品名による検索結果にしたいとき、私は問題に直面しています。動作しないコードは:

public IQueryable<Product> GetProduct([QueryString("srch")] int? ProductName) 
{ 
    var _db = new project.Models.ProductContext(); 
    IQueryable<Product> query = _db.Products; 
    if (ProductName.HasValue && ProductName > 0) 
    { 
     query = query.Where(p => p.ProductName= "srch"); 
    } 
    else 
    { 
     query = null; 
    } 
    return query; 
} 

答えて

0

あなたが割り当てたデータ型はintです。また、構文上に=がありません。これによりビルドエラーが発生します。

public IQueryable<Product> GetProduct([QueryString("srch")] string ProductName) 
    { 
     var _db = new project.Models.ProductContext(); 
     IQueryable<Product> query = _db.Products; 
     if (!string.IsNullOrEmpty(ProductName)) 
     { 
      query = query.Where(p => p.ProductName == ProductName); 
     } 
     else 
     { 
      query = null; 
     } 

     return query; 
    } 
0

あなたは構文エラーだけでなく、与えられたコードで論理エラーを持っている、あなたは、整数値を持つ検索クエリをした、そのコードとの単純な比較は間違って何を実現するお手伝いをします。

比較のために==を使用する必要があります。=について知りたいのであれば、値を割り当てるためにC#で使用されています。あなたのコードは、文字列"srch"と値を比較しているので、製品名は常に"srch"と比較されます。代わりに、関数に渡されるパラメータを使用する必要があります。次に引数のタイプを変更する必要があります。そのまだint、あなたは文字列としてそれを作る必要があります(ProductNameは文字列になると仮定します)このように:

public IQueryable<Product> GetProduct([QueryString("srch")] string ProductName) 
{ 
    var _db = new project.Models.ProductContext(); 
    IQueryable<Product> query = _db.Products; 
    if (!string.IsNullOrEmpty(ProductName)) 
    { 
     query = query.Where(p => p.ProductName == ProductName); 
    } 
    else 
    { 
     query = null; 
    } 
    return query; 
} 
関連する問題