我正试图通过instapaper或谷歌动员者打开一个网页。
所以我将UrlEncoded url传递给webbrowser任务: http://www.instapaper.com/m?u=http%3A%2F%2Ftwitter.com%2FT_Jako%2Fstatuses%2F27119375731400704
这对我来说似乎完全没问题。
我通过
生成它serviceUrl + Uri.EscapeDataString(url.ToString())
问题是IE可能在请求页面之前取消了参数,所以我得到了404页面。
我不明白我做错了什么,或者它是否是WP7上的错误以及是否有解决方法。
[UPDATE] : 这肯定是一个错误,也得到confirmed by a guy from the WP7 team。 我也在博客上写道: http://codeclimber.net.nz/archive/2011/01/19/WP7-Tip-Always-Encode-Urls-for-the-WebBrowserTask.aspx
谢谢 西蒙
答案 0 :(得分:3)
string s = HttpUtility.UrlEncode("http://www.instapaper.com/m?u=http%3A%2F%2Ftwitter.com%2FT_Jako%2Fstatuses%2F27119375731400704");
WebBrowserTask task = new WebBrowserTask();
task.URL = s;
task.Show();
在这里为我工作。
顺便说一句,如果您使用的是模拟器,您可能会遇到此错误: http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/d00bb0cc-bf8c-4a9e-9823-b55f589a3106/
答案 1 :(得分:2)
这绝对是一个错误。
我在使用法语传递Twitter状态时遇到了问题。双重转义URL对我有用:
string url = http://twitter.com/?status=testÉÇÀéçà
var wb = new WebBrowserTask();
wb.URL = Uri.EscapeUriString(Uri.EscapeUriString(url));
wb.Show();