Как изменить URL-адрес маршрута для динамических страниц mvc - Почему это не работает? - PullRequest
1 голос
/ 02 ноября 2009

Для контроллера ниже, почему вызов http://localhost:port/content/about не передает "about" в качестве значения для параметра страницы контроллера индекса? Маршрутизация по умолчанию. Ясно, я не понимаю, маршрутизация ...

    public class ContentController : Controller
    {
        private IContentService _service;

        public ContentController()
            {
                _service = new ContentService(new ModelStateWrapper(this.ModelState), new ContentRepository());
            }


        public ActionResult Index(string page)
        {
            return RedirectToAction("View", new { p = page });
        }
        public ActionResult Page(string p)
        {    
            ContentPage contentPage = _service.GetPageContent(site, p);
            return View(contentPage);
        }
}

Ответы [ 2 ]

1 голос
/ 02 ноября 2009

Маршрутизация по умолчанию предполагает, что вы используете следующий шаблон: {действие} / {id}. Вы не используете это. Вам необходимо повторно объявить свой маршрут, чтобы он отправлял все в действие «Index» и передавал параметр «p».

0 голосов
/ 02 ноября 2009

Вы используете IIS6? Если это так, убедитесь, что вы сопоставили isapi dll asp.net с расширением .mvc.

Маршрутизация убивала меня на прошлой неделе, пока я не узнал об этом ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...