0

在 Silverlight 5 中:

var uri= new Uri("http://www.last.fm/api/auth/?api_key=xyz&cb=http://localhost:19000/callback?bla=blu")
HtmlPage.Window.Navigate(uri);

登陆我的浏览器: http ://www.last.fm/api/auth?api_key=xyz&cb=http://localhost:19000/callback%253Fbla=blu

注意“?” 回调参数中的 URL 被转义为 %253F - 即使我在调试器中查看 uri.ToString() ,它也没有被转义。

我怎样才能防止这种情况发生?

非常感谢,马克斯

4

1 回答 1

0

我没有得到答案,但如果有人偶然发现同样的问题,这就是我尝试过的以及我最终所做的:

首先,我尝试使用 HtmlPage.Window.Eval() 来执行将导航到该 URL 的 javascript。再次,? 即使 URL.ToString() 没有转义它也被转义了。

所以我最终所做的——本来可以更早想到的,真的;P——改变我的回调处理程序以遵循类似 REST 的格式。代替:

http://localhost:19000/callback?bla=blu

它现在监听:

http://localhost:19000/callback/bla=blu

并将参数值从路径中取出。不再涉及问号,问题解决了。

于 2013-05-14T13:07:56.550 回答