没有发现任何结果时的错误页面

本文关键字:错误 结果 发现 任何 | 更新日期: 2023-09-27 18:18:45

我正在创建一个应用程序,这是提高我的c#技能不是学术的,所以请你帮我快完成了,我想在1月12日之前完成,因为我要去度假。

问题是我想修改我的代码,所以它显示一个错误页面,当搜索没有找到,例如,我搜索了一个事件,它的页面上来说什么都没有找到,按这个回去。我在c#中使用MVC3这是我的搜索代码从我的控制器:

public ViewResult Index(string sortOrder, string currentFilter, string searchString, int? page)
    {
        using (var db = new UniversityNewsEntities1())
        {
            ViewBag.CurrentSort = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Name desc" : "";
            ViewBag.DateSortParm = sortOrder == "Date" ? "Date desc" : "Date";
            if (Request.HttpMethod == "GET")
            {
                searchString = currentFilter;
            }
            else
            {
                page = 1;
            }
            ViewBag.CurrentFilter = searchString;
            var FullArticle = from a in db.NewsItems
                       select a;
            if (!String.IsNullOrEmpty(searchString))
            {
                FullArticle = FullArticle.Where(a => a.Headline.ToUpper().Contains(searchString.ToUpper()));
            }
            switch (sortOrder)
            {
                case "Name desc":
                    FullArticle = FullArticle.OrderBy(a => a.Headline);
                    break;
                case "Date":
                    FullArticle =FullArticle.OrderBy(a => a.Posted);
                    break;
                case "Date desc":
                    FullArticle = FullArticle.OrderBy(a => a.Posted);
                    break;
                default:
                    FullArticle = FullArticle.OrderByDescending(a => a.Posted);
                    break;
            }
            int pageSize = 3;
            int pageNumber = (page ?? 1);
            return View(FullArticle.ToPagedList(pageNumber, pageSize));
        }
    }  

这段代码完全工作,所有我需要的是一种方式,将告知谁曾经使用这当他们搜索的东西,如果它没有在数据库中找到一个页面会出现告诉他们什么都没有找到,请通过超链接回去。我用的是ASP。NET MVC3,这是我的主控制器,所有的东西都运行起来了。

没有发现任何结果时的错误页面

首先检查是否发现任何结果。删除这一行:

return View(FullArticle.ToPagedList(pageNumber, pageSize));

var results = FullArticle.ToPagedList(pageNumber, pageSize);
if (results.Any()) 
{
    return View(results);
}
return RedirectToAction("Error");

你需要在NewsController

中添加一个新的控制器动作
public ActionResult Error()
{
    return View();
}

显示错误和反向链接的所有HTML将放在一个新视图(Views/News/error .cshtml)中,您可以要求Visual Studio生成该视图。