Response.RedirectToRoutePermanant не изменяет URL на клиенте

Я работаю над проектом MVC, используя Ext.Net TreeGrid. У меня есть сетка на странице "PieChart2". Когда я впервые загружаю PieChart2, я загружаю дерево с корневыми узлами. Когда я нажимаю на один из узлов, я хочу передать идентификатор узла в том же URL-адресе (/Home/PieChart2/nodeid). Я пытаюсь добиться этого путем перенаправления на URL-адрес с помощью следующего кода в событии click в сетке дерева.

idVal - это идентификатор узла триода, по которому щелкнули.

string newUrl = "/Home/PieChart2/" + idVal ;

Response.RedirectToRoutePermanent("PieRoute", new { id = idVal });

PieRoute выглядит так в Global.asax.

routes.MapRoute("PieRoute", "{controller}/{action}/{id}", new { controller = "Home", action = "PieChart2", id = UrlParameter.Optional });

Я вижу два запроса к серверу о перенаправлении 1) 301 код состояния с исходным URL и 2) новый URL. URL также обрабатывается корректно, но браузер по-прежнему показывает "/Home/PieChart2" вместо "Home/PieChart2/nodeid".

Я делаю это правильно? Если да, что может быть причиной того, что он не работает?

1 ответ

Браузер должен обновляться, если это не ajax-вызов или вызов из элемента frame. В этих случаях это не будет задумано.

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