2012-04-14 45 views
0

我試圖在控制器上修改我的搜索,以便能夠計算用戶在搜索字符串中鍵入的匹配結果的數量。因此,用戶將搜索電影名稱,並且有1個匹配的電影消息會說「1部電影符合您的搜索條件:'終結者'」。顯示一條記錄搜索結果的消息嗎?

到目前爲止,這是我的代碼,我沒有錯誤,它搜索數據正常,但沒有計算結果的數量。如果有人知道我需要做什麼才能讓搜索顯示消息,那麼這將是非常有益的。搜索設施的工作原理,但我需要指出,如果沒有結果或者有多少個數據,數據如何與&顯示一條消息。

感謝

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

看起來像一個錯字給我。替換此行:

ViewBag.Message = " Results"; 

與此:

ViewBag.Message = count + " Results"; 

此外,請務必把ViewBag.Message在查看某個地方:

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

好感謝金正日嘗試,沒有我不是在視圖中顯示viewbag消息將與控制器中的相同?我假設我將它放在搜索的div中?在視圖中? – user1259076 2012-04-14 20:47:05

+0

是的,ViewBag.Message不會自動顯示。只需在視圖的某個地方添加

@ViewBag.Message
,或其他任何地方。 – McGarnagle 2012-04-14 20:49:43

+0

非常感謝它:) – user1259076 2012-04-14 20:59:56