ASP MVC ChildActionOnly должен иметь маршрутизацию - PullRequest
5 голосов
/ 08 февраля 2012

Я не знаю, нормально ли это, но должны ли ChildActionOnly методы запрашивать маршрут? Например

[ChildActionOnly]
        public PartialViewResult List(string countryCode, string cityName)
        {...
            return PartialView(model);
        }

Я представляю это как:

@{Html.RenderAction("List", "MyController", new { area = "MyArea", countryCode = ViewBag.CountryCode, cityName = ViewBag.CityName });}

В отладке я попадаю в верхнюю строку:

Ни один маршрут в таблице маршрутов не соответствует заданным значениям.

UPDATE

context.MapRoute("name",
                "",
                new { area = "MyArea", controller = "MyControlelr", action = "List", countryCode = UrlParameter.Optional, cityName = UrlParameter.Optional });

1 Ответ

5 голосов
/ 08 февраля 2012

Да, это так.

Все, что делает [ChildActionOnly], говорит о том, что к этому действию нельзя получить доступ через URL (например, обычный HTTP GET), скорее оно должно быть выполнено с помощью Html.Action или Html.RenderAction. Это не новый HTTP-запрос, но он все еще проходит через конвейер запросов MVC (выбор контроллера / действия через значения маршрута).

...