Я написал приложение Asp .Net MVC, которое работает внутри IFrame. Когда один из моих методов контроллера возвращает RedirectToAction (), я хочу, чтобы верхний URL браузера перенаправлял на адрес, а не только на мой IFrame. Как бы я поступил так? Поскольку я работаю на другом сайте, мне нужно будет передать браузеру абсолютный URL-адрес, т. Е. 'http://parentsite.com/myapp/{controller}/{action}'
Полагаю, это эквивалентно установке целевого атрибута моих гиперссылок на «_top», чтобы весь сайт перенаправлял (это будет довольно просто, если расширить HtmlHelper), но как мне сделать это для перенаправлений на стороне сервера?
Пока что мое решение состоит в том, чтобы переопределить OnResultExecuting, извлечь URL-адрес, на который я собираюсь перенаправить, а затем вместо этого перенаправить в представление разрыва фрейма, передав URL-адрес, на который я первоначально собирался перенаправить, в качестве параметра. Представление Frame Breaker просто записывает некоторый javascript, который устанавливает верхний URL браузера в мой исходный URL. У этого подхода есть дополнительный HTTP-запрос, чем я хотел бы, но по крайней мере не нарушает никаких принципов MVC (я не думаю!). Мысли
Спасибо