2014-01-08 64 views
0

我想設置路由的博客,就像這樣:ASP.net MVC路由的博客

www.smth.com/news/ - >顯示所有新聞 www.smth.com/news /管理員 - 新聞 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

這是因爲你的第一條路線規則捕捉/ news/admin和映射到Post()動作(標題= admin),所以再次重定向到/ news/admin,讓你進入循環。