2013-05-06 5 views
0

в Silverlight 5:Silverlight: параметр URL в строке запроса спасся

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-адреса в параметре обратного вызова получает escape-код в% 253F - хотя, если я смотрю uri.ToString() в отладчике, он не сбежит.

Как я могу предотвратить это?

Большое спасибо, Max

ответ

0

я не получил никакого ответа, но если кто-нибудь натыкается на тот же вопрос, вот что я попробовал и то, что я наконец-то сделал:

Во-первых, я попытался использовать HtmlPage.Window .Eval() для запуска javascript, который будет перемещаться по этому URL-адресу. Опять же? был убежен, хотя URL.ToString() не избежал этого.

Итак, что я, наконец, сделал - мог бы подумать об этом раньше, действительно, P - должен был изменить обработчик обратного вызова, чтобы следовать формату REST. Вместо того, чтобы:

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

теперь прослушивает:

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

и принимает значение параметра из пути. Никакой вопросительный знак больше не затрагивается, проблема решена.

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