如何检查是否找不到记录?

时间:2014-04-11 09:10:19

标签: c# asp.net-mvc-4

我是根据字符从数据库中搜索数据,但是如果根据类型字符没有数据,那么如何打印没有找到记录的消息

代码:

public ActionResult SearchIndex(string searchString)
{
        var movies = from m in db.Movies
                     select m;

        if (!string.IsNullOrEmpty(searchString))
        {
            movies=movies.Where(s=>s.Title.StartsWith(searchString));
        }

        return View(movies);
}

4 个答案:

答案 0 :(得分:2)

在你的剃刀中,做一些类似的事情:

if (!Model.Any())
{
 // No record found. Display appropriate message.
}
else
{
 // search results were found, render them.
}

答案 1 :(得分:1)

您可以查看视图:

@If(Model.Count == 0)
{
<h3> No Record Found </h3>
}
else
{
//display records
}

答案 2 :(得分:0)

如果在ajax调用的keyup上调用了你的方法,那么你可以返回

 if (!string.IsNullOrEmpty(searchString)){
      movies=movies.Where(s=>s.Title.StartsWith(searchString));
  }
  if(movies==null){
      return JSON("No Records found")
   } 

您可以在成功回调中访问返回的json对象,并且可以直接打印数据

答案 3 :(得分:0)

这取决于你有很多可能性:你也可以使用ViewData对象。

   public ActionResult SearchIndex(string searchString)
  {
    var movies = from m in db.Movies
                 select m;

    if (!string.IsNullOrEmpty(searchString))
    {
        movies=movies.Where(s=>s.Title.StartsWith(searchString));
    }
    if(movies == null)
    {
     ViewData["NoMovies"] = "No Movies found";
     movies = from m in db.Movies
                 select m; // As your movie will be null or You can pass a new movies()
    }

    return View(movies); //
    }
在您看来

@{ if (ViewData["NoMovies"] != null) {
 @ViewData["NoMovies"] 
<br />
  }