如果没有结果,如何为此方法编写if / else语句?
public ActionResult Search(string q)
{
Helpers Helpers = new Helpers();
var restaurants = Helpers.getRestaurant(q);
return View("_RestaurantSearchResults", restaurants);
}
Helpers类包含:
public class Helpers
{
FoodReviewContext _db = new FoodReviewContext();
public static IQueryable<Restaurant> getRestaurant(string q)
{
var restaurents = _db.Restaurants
.Where(r => r.Name.StartsWith(q) || String.IsNullOrEmpty(q))
.Take(2);
return restaurents;
}
}
答案 0 :(得分:2)
如果我理解你的问题:
public ActionResult Search(string q)
{
Helpers Helpers = new Helpers();
var restaurants = Helpers.getRestaurant(q);
if (restaurants.Count() == 0) {
// do something
} else {
// do something else
}
return View("_RestaurantSearchResults", restaurants);
}
看看这里:http://msdn.microsoft.com/en-us/library/bb351562%28v=vs.110%29.aspx。这涉及IQueryable<T>
接口中的所有方法。
通常,当您在寻找如何使用.NET Framework,C#或其他人的某些部分时,代码,文档是最好的第一个去处。
答案 1 :(得分:0)
试试这个
if (restaurants.Count() != 0)
{
//non-zero thing
}
else
{
//zero thing
}
答案 2 :(得分:0)
只需检查结果计数即可。
public ActionResult Search(string q)
{
Helpers Helpers = new Helpers();
var restaurants = Helpers.getRestaurant(q);
if(restaurants.Count()>0)
{
return View("_RestaurantSearchResults", restaurants);
}
else
{
ViewBag.Message="No result found";
return View("_RestaurantSearchResults");
}
}
只需检查ViewBag.Message是否在View中可用。