2012-02-03 4 views
2

Я пытаюсь использовать 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&amp;redirectUrl=http%3A%2F%2Fdev.mydomain.net%2Fnewsfeed%3F_%3D1328276903643 

который содержит &amp;redirectUrl= вместо &redirectUrl=

Как передать этот URL, чтобы window.location.href без & будучи закодировано до &amp;, сохраняя при этом redirectUrl в виде кодированной строки URL?

+1

Что такое код в 'метода FacebookLoginUrl'? Что он возвращается? Кажется, что этот метод является проблемой и добавляет кодировку, когда это не должно. (Кстати, для аргументации, 'с' & 'является [правильным способом создания URL-адреса] (http://stackoverflow.com/questions/275150/xhtml-and-ampersand-encoding).) –

ответ

Смежные вопросы