私はIFrameの内部で実行されるAsp .Net MVCアプリケーションを作成しました。私のコントローラメソッドの1つがRedirectToAction()を返すとき、トップのブラウザURLが私のIFrameだけでなく、アドレスにリダイレクトされるようにしたい。これをどうやってやりますか?別のサイト内で実行しているため、絶対URLをブラウザに渡す必要があります。つまり、 'http://parentsite.com/myapp/ {controller}/{action}'Asp .Net MVC絶対URLでのリダイレクトToAction
私のハイパーリンクのターゲット属性を '_top 'これでサイト全体がリダイレクトされるようになります(これはHtmlHelperを拡張することでかなり簡単になります)。しかし、サーバーサイドのリダイレクトではどうしたらいいですか?
これまでのところ、私の解決策は、OnResultExecutingをオーバーライドして、リダイレクト先のURLを抽出し、その代わりに元々はリダイレクト先のURLを渡すフレームブレーカービューにリダイレクトすることです。フレームブレーカビューは、トップブラウザのURLを元のURLに設定するJavaScriptを書き出すだけです。このアプローチは私が望むよりも余分なHTTP要求を持っていますが、少なくともMVCの原則に違反しているわけではありません(私は思っていません!)。思考?
おかげ