我正在尝试为博客设置路由,如下所示:
www.smth.com/news/ - >显示所有新闻 www.smth.com/news/admin - >管理面板的新闻 www.smth.com/news/this-is-a-post-name - >单一帖子
我已经厌倦了,但没有运气:
routes.MapRoute("News", "news/{title}",
new { controller = "News", action = "Post", title = UrlParameter.Optional }
);
routes.MapRoute("Default", "{controller}/{action}/{id}",
new {controller = "Home", action = "Index", id = UrlParameter.Optional}
);
控制器:
public ActionResult Post(string title)
{
if (string.IsNullOrEmpty(title))
{
return RedirectToAction("Index", "News");
}
if (title.ToLower() == "admin")
{
return RedirectToAction("Admin", "News");
}
return View("Single");
}
我得到的错误是:
Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求。
答案 0 :(得分:0)
这是因为你的第一条路线规则是捕捉/ news / admin和映射到你的Post()动作(标题= admin),所以再次重定向到/ news / admin,让你进入循环。