Маршрутизация с несколькими параметрами в umbraco 7

У меня есть страница вроде http: // localhost: 55617 / знание-дома / журналы / в umbraco 7. Теперь я хочу применить к нему маршрутизацию, когда параметры присутствуют в URL, скажем http: // localhost: 55617 / знание-дом / журналы / английский язык / 2012 /. где "английский" и "2012" являются параметрами.

Итак, в RouteConfig.cs я пишу следующее.

routes.MapRoute(
            name: "/knowledge-house/magazines/",
            url: "/umbraco/Surface/{controller}/{action}/{langid}/{year}/",
            defaults: new { controller = "Kids", action = "Magazine", langid = UrlParameter.Optional, year = UrlParameter.Optional }
        );

У меня есть контроллер Kids Surface, в котором есть следующий код.

public ActionResult Magazine(int langid = 0, string year = "")
    {
        return View("Magazine");
    }

но для URL http://localhost:55617/knowledge-house/magazines/English/2012/ выдает ошибку: ошибка HTTP 404.11 - не найден

1 ответ

Решение

На самом деле я проверял неправильно. Как URL-адреса не являются хорошими URL-адресами. Поэтому я должен проверить URL-адрес, например http://localhost:55617/knowledge-house/magazines?langid=English&year=2012. Теперь это правильно.

Другие вопросы по тегам