ASP.net MVC Routing for blog

时间:2014-01-08 16:22:30

标签: asp.net-mvc asp.net-mvc-routing

我正在尝试为博客设置路由,如下所示:

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检测到服务器正在以永远无法完成的方式重定向此地址的请求。

1 个答案:

答案 0 :(得分:0)

这是因为你的第一条路线规则是捕捉/ news / admin和映射到你的Post()动作(标题= admin),所以再次重定向到/ news / admin,让你进入循环。