2012-04-14 6 views
0

コントローラで検索を変更しようとしているため、ユーザーが検索文字列に入力した一致する検索結果の数をカウントできるようになりました。ユーザーが映画名を検索し、 「映画は1つの検索基準に一致しました: 'ターミネーター'」と表示されます。検索結果を数えないメッセージを表示しますか?

これまでのところ、これが私のコードは、私はエラーを持っていないし、それがデータの罰金を検索しませんが、誰もが、私は、メッセージを表示するために、検索を取得するために何をする必要があるかを知っている.IF結果の一切をカウントdoesntのそれは非常に役に立つでしょう。検索機能は動作しますが、データに何個の一致があるかをカウントする必要があります。&は、結果がないか、存在するかどうかを示すメッセージを表示します。

おかげ

public ViewResult Index(string sortOrder, string searchString) 
    { 
     ViewBag.NamesSortParm = string.IsNullOrEmpty(sortOrder) ? "Name desc" : ""; 
     ViewBag.MoviesSortParm = sortOrder == "MovieID" ? "Name" : "Director"; 
     var Movies = from s in MoviesRepository.GetMovies() 
        select s; 
     if (!string.IsNullOrEmpty(searchString)) 
     { 
      Movies = Movies.Where(s => s.Name.ToUpper().Contains(searchString.ToUpper()) 
            || s.Director.ToUpper().Contains(searchString.ToUpper())); 
     int count = Movies.Count(); 
     if (count == 0) 
     { 
      ViewBag.Message = "No matches found"; 
     } 
     else 
     { 
      ViewBag.Message = " Results"; 
     } } 
     switch (sortOrder) 
     { 
      case "Name": 
       Movies = Shows.OrderByDescending(s => s.Name); 
       break; 
      case "Director": 
       Movies = Movies.OrderByDescending(s => s.Director); 
       break; 
      default: 
       Movies = Movies.OrderBy(s => s.Synopsis); 
       break; 
     } 






     return View(Movies.ToList()); 





    } 

答えて

1

は私にはタイプミスのように見えます。

<div> @ViewBag.Message </div> 
+0

[OK]を感謝し、ILことを、いやイムないようにしよう:どこかビューでViewBag.Messageを置くことを確認して、また

ViewBag.Message = count + " Results"; 

:これで

ViewBag.Message = " Results"; 

:この行を置き換えviewbagメッセージをビューに表示するのはコントローラの場合と同じでしょうか?それを検索のdivに入れますか?ビューで? – user1259076

+0

ええ、ViewBag.Messageは自動的には表示されません。ビューのどこかに

@ViewBag.Message
などを追加してください。 – McGarnagle

+0

ありがとうalotそれは動作:) – user1259076

関連する問題