私はRazorを使用してURLをJavascript変数に挿入し、ブラウザをそのURLにリダイレクトしようとしています。アプリケーションが完全にAJAXベースであり、Facebook認証ページにリダイレクトしているので、この方法で行う必要があります。ASP.NET MVC Javascriptリダイレクトエンコードの問題
クライアント側のリダイレクトを実行するビューは、次のようになります
@model Site.Core.ViewModels.Auth.FacebookCanvasLoginModel
<script type="text/javascript">
var redirectUrl = '@(Model.FacebookLoginUrl)';
window.top.location.href = redirectUrl;
</script>
Model.FacebookLoginのURLの値はUrl.Action MVCで()ヘルパーによって生成されます。
問題は、実際にリダイレクトされている場所があるということです。
&redirectUrl=
の代わりに、私は
&
されずにwindow.location.hrefするために、このURLを渡すにはどうすればよい
&redirectUrl=
が含まれてい
http://dev.mydomain.net/Auth/RequestPermission?permissions=read_stream%2Cuser_photos&redirectUrl=http%3A%2F%2Fdev.mydomain.net%2Fnewsfeed%3F_%3D1328276903643
コード化されたURL文字列としてredirectUrlを維持しながら&
にエンコードされていますか?
'FacebookLoginUrl'メソッド内のコードは何ですか?それは何を返すのですか?この方法が問題であり、そうでないときにエンコーディングを追加しているようです。 (ところで、議論のために、 '&'を持つ ''を[URLを生成する適切な方法](http: /stackoverflow.com/questions/275150/xhtml-and-ampersand-encoding)) –