2014-01-08 3 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, вы попадаете в цикл.

Смежные вопросы