powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET MVC: Проблема с формированием урла после RedirectToAction()
4 сообщений из 4, страница 1 из 1
ASP.NET MVC: Проблема с формированием урла после RedirectToAction()
    #36031773
c_RA_w
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разбираюсь с ASP.NET MVC Framework-ом. Наткнулся на следующие грабли - в конце экшена "EditItem" контроллера "Lists" обрабатывающего форму, делаю:Return RedirectToAction("ViewItem", New With{.ListId = 1, ItemId = 2})
И как мне казалось, я должен перенаправиться на "/Lists/ViewItem/1/2" в соответствии с маршрутом:routes.MapRoute( _
"ViewItem", _
{controller}/{action}/{ListId}/{ItemId}, _
New With { _
.controller = "Lists", _
.action = "ViewItem", _
.ListId = Nothing, _
.ItemId = Nothing} _
)
Но меня перекидывает на "/Lists/ViewItem?ListId=1&ItemId=2".
 
Перекопал все, что только можно было, но ответа не нашел. Из-за чего это может быть и как увидеть в адресной строке все-таки "/Lists/ViewItem/1/2"?
...
Рейтинг: 0 / 0
ASP.NET MVC: Проблема с формированием урла после RedirectToAction()
    #36031976
Ps-spectre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 c_RA_w
это у тебя бейсик?.. на шарп не похоже. )

вот на шарпе, все работает:
Это в глобал.асакс, наш роут должен идти ДО объявления роута по-умолчанию!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
            routes.MapRoute(
                "MySomeOneRoute", 
                "{controller}/{action}/{param1}/{param2}",
                new
                {
                    controller = "MyTest",
                    action = "Test",
                    param1 = "",
                    param2 = ""
                }  
            );
...
где-то в конце роут по-умолчанию.
 routes.MapRoute(
                "Default",                                              
                "{controller}/{action}/",
                new { controller = "Home", action = "Index" }                      
            );
Класс контролллера
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 public class MyTestController : Controller
    {
        public ActionResult Test(int? param1, int? param2)
        {
            return Content("param1: " + (param1 ??  1 ).ToString() + ";param2: " + (param2 ??  1 ).ToString());
        }
        public ActionResult Test2()
        {
            return RedirectToAction("Test", new { param1 =  5 , param2 =  5  });
        }
    }
При обращение на
/MyTest/Test2
идет редирект на
/MyTest/Test/5/5

Все работает как надо, почему у тебя не пашет, не знаю. Но может потому что роут зарегистрирован позже, чем роут по умолчанию.
...
Рейтинг: 0 / 0
ASP.NET MVC: Проблема с формированием урла после RedirectToAction()
    #36032857
c_RA_w
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Угу, это он самый - васик. :)
Спасибо за наводку про маршруты, разобрался, теперь все работает как надо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ASP.NET MVC: Проблема с формированием урла после RedirectToAction()
    #38197721
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу помочь!

В global.asax определёно 2 маршрута:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 routes.MapRoute(
                null,
                "{controller}/{action}", 
                new { }
            );

            routes.MapRoute(
                null,
                "{controller}/{action}/{stringParam }", 
                new { }
            );



Перенаправление:
Код: c#
1.
return RedirectToAction("Index", new { stringParam });


формирует URL типа http://localhost:56131/Cart/Index?returnUrl=%2FAnything

А надо URL вида http://localhost:56131/Cart/Index/%2FAnything .

Почему RedirectToAction формирует URL по первому маршруту, а не по 2-му? Я же вызываю RedirectToAction с параметром.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET MVC: Проблема с формированием урла после RedirectToAction()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]