Я пытаюсь использовать 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>
Значение URL Model.FacebookLogin порождается Url.Action() хелпера в MVC.
проблема заключается в том, что место, которое на самом деле является перенаправлены:
http://dev.mydomain.net/Auth/RequestPermission?permissions=read_stream%2Cuser_photos&redirectUrl=http%3A%2F%2Fdev.mydomain.net%2Fnewsfeed%3F_%3D1328276903643
который содержит &redirectUrl=
вместо &redirectUrl=
Как передать этот URL, чтобы window.location.href без &
будучи закодировано до &
, сохраняя при этом redirectUrl в виде кодированной строки URL?
Что такое код в 'метода FacebookLoginUrl'? Что он возвращается? Кажется, что этот метод является проблемой и добавляет кодировку, когда это не должно. (Кстати, для аргументации, 'с' & 'является [правильным способом создания URL-адреса] (http://stackoverflow.com/questions/275150/xhtml-and-ampersand-encoding).) –