显示一条记录搜索结果的消息吗?

问题描述:

我试图在控制器上修改我的搜索,以便能够计算用户在搜索字符串中键入的匹配结果的数量。因此,用户将搜索电影名称,并且有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()); 





    } 

看起来像一个错字给我。替换此行:

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