方法返回重定向到自身-本地主机重定向次数太多
本文关键字:重定向 主机 太多 返回 方法 -本 | 更新日期: 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" });
解决此问题