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. В этих случаях это не будет задумано.