方法返回重定向到自身-本地主机重定向次数太多

本文关键字:重定向 主机 太多 返回 方法 -本 | 更新日期: 2023-09-27 18:17:14

我有一个这样的方法:

// GET: Pages Index
        public ActionResult Index(string page = "")
        {
            if (page == "")
                page = "home";
            PagesVM pageVM;
            PagesDTO pageDTO;
            Db db = new Db();
            if (!db.Pages.Any(row => row.Slug.Equals(page)))
                return RedirectToAction("Index");
            ...
        }

如果我去mydomain/somepage,那个页面存在,它工作得很好,但如果页面不存在,它重定向到自己,但太多次,我不明白为什么,因为当它重定向到自己,page应该变成home,它应该工作,但它一直重定向太多次。

有什么方法可以避免这种情况,并将其全部保存在一个方法中?

方法返回重定向到自身-本地主机重定向次数太多

尝试在返回语句中设置一个断点,并在调试模式下运行,将鼠标悬停在"page"变量上,当调试器停止代码执行并在页面重定向时确认其值为"home"。

如果是这样,那么问题要么出在LINQ语句上,要么出在数据集上。确保Pages表包含一个段值home。

编辑:

替换

return RedirectToAction("Index"); 

return RedirectToAction("Index",new { page = "" });

return RedirectToAction("Index",new { page = "home" });

解决此问题