Добавить маршрут для asp.net mvc 3 - PullRequest
2 голосов
/ 10 сентября 2011

Мне нужно иметь возможность изменять маршруты, как это: appdomain / city / City-state, поэтому, если кто-то использует appdomain / Washington / Washington-DC, он получает правильную информацию из правильного действия контроллера.Пока не могу понять, какой контроллер и какое действие он должен получить, чтобы получить этот URL и правильно его обработать.

Чтобы немного его очистить, здесь нет контроллера и действия, но вместо них 2 параметра.

Ответы [ 2 ]

3 голосов
/ 10 сентября 2011

Почему бы не добавить небольшую справку по фиксированному пути, например Show-City

routes.MapRoute(
    "CityAndState",
    "Show-City/{city}/{state}",
    new { controller = "Cities", action = "Index", id = UrlParameter.Optional }
);

это никогда не помешает вашим существующим маршрутам, и тогда вы можете использовать:

http://domain.com/Show-City/New York/NY

в вашем Индексе Action внутри городов Controller у вас будет что-то вроде: ~

public class CitiesController : Controller
{
    public ActionResult Index(string city, string state)
    {
        // use city and state variables here

        return View();
    }
}
1 голос
/ 10 сентября 2011

Попробуйте:

routes.MapRoute("Foo", "{state}/{city}",
    new { controller = "ControllerName", action = "ActionName" });

и в вашем классе вы получите:

public class ControllerNameController : Controller {
    public ActionResult ActionName(string state, string city) {
         ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...