2012-02-01 16 views
0

非常に新しいMVC3になりました。私はMVC3コントローラに検索ボックスを追加し、データベースからの検索結果に基づいてコントローラに結果を表示させることを任されました。MVC LinQ検索エラー

以下に貼り付けたコードにエラーがスローされ、エラーメッセージも貼り付けられます。

public ViewResult Index(string searchString) 
    { 
     var newsItem = from n in db.NewsItems 
         select n; 
     if (!String.IsNullOrEmpty(searchString)) 
     { 
      newsItem = newsItem.Where(n => n.Posted.ToUpper().Contains(searchString.ToUpper()) 
         || n.Posted.ToUpper().Contains(searchString.ToUpper())); 

     } 


     return View(db.NewsItems.ToList()); 
    } 

エラー:

'System.DateTime' does not contain a definition for 'ToUpper' and no extension method 'ToUpper' accepting a first argument of type 'System.DateTime' could be found (are you missing a using directive or an assembly reference?)
C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Web_Assignment\Web_Assignment\Controllers\NewsController.cs 27 40 Web_Assignment

+1

この宿題はありますか?あなたのエラーはかなり記述的です。 –

答えて

2

私は投稿プロパティがDateTymeタイプを持っていると思います。あなたが本当にDateTime列で検索したい場合、それを文字列型に変換する必要があります:newsItem.Where(n => n.Posted.ToString().ToUpper().Contains(searchString.ToUpper()) しかし、おそらく本当にTextプロパティで検索したいですか?

newsItem.Where(n => n.Text.ToUpper().Contains(searchString.ToUpper()) 
関連する問題