Маршрутизация MVC: как направить /mypath/Default.aspx в /Default.aspx и сохранить QueryString? - PullRequest
1 голос
/ 30 декабря 2010

Мы обновили наше решение до MVC 2. Внешние ссылки по-прежнему используют /mypath/Default.aspx со строкой запроса n = 10. Есть ли способ перехватить этот маршрут с помощью контроллера и вызвать файл Default.aspx с правильной строкой запроса?

Мы попытались просто перенаправить IIS6, а также метаобновление, но оба удалили строку запроса.

Ответ Ника Крейвера выглядит многообещающим как ответ на этот вопрос.

1 Ответ

1 голос
/ 07 января 2011

Я не уверен, что вы подразумеваете под "и вызываете файл Default.aspx с правильной строкой запроса?"но если вы хотите вызвать маршрут по умолчанию, это легко сделать.

Вы можете просто указать маршрут в «mypath / Default.aspx».Строка запроса будет автоматически привязана к вашему методу.

Например:

routes.MapRoute(
    "LegacyUrl", // Route name
    "mypath/Default.aspx", // URL with parameters
    new { controller = "Home", action = "Index"} 
);

Тогда ваш метод:

[HttpGet]
public ActionResult Index(int n)
{
    // do something with n, maybe pass it to the View
    return View();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...