您的位置:首页 > 理论基础 > 计算机网络

winphone 网络请求HttpWebRequest

2013-10-22 17:26 281 查看
public partial class newsDetail : PhoneApplicationPage
{
public newsDetail()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(LoadNews);

}

private void LoadNews(object sender, RoutedEventArgs e)
{
string url = NavigationContext.QueryString["url"];
WebRequest request = HttpWebRequest.Create(url);
IAsyncResult result = (IAsyncResult)request.BeginGetResponse(ResponseCallBack, request);
}

//转换解决汉字乱码问题
public static string ConvertExtendedASCII(string HTML)
{
StringBuilder str = new StringBuilder();
char c;
for (int i = 0; i < HTML.Length; i++)
{
c = HTML[i];
if (Convert.ToInt32(c) > 127)
{
str.Append("&#" + Convert.ToInt32(c) + ";");
}
else
{
str.Append(c);
}
}
return str.ToString();
}

private void ResponseCallBack(IAsyncResult result)
{
try
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
WebResponse response = request.EndGetResponse(result);

using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
XDocument Xdoc = XDocument.Parse(reader.ReadToEnd());
Dispatcher.BeginInvoke(() =>
{
foreach (var item in Xdoc.Descendants("News"))
{
tbTitle.Text = item.Element("NewsTitle").Value;
tbTime.Text = item.Element("NewsTime").Value;
string text = "<html><head></head><body style=\"background-color:White;color:#919191;font-size:18px;margin:10px 20px 10px 20px;\">" + item.Element("NewsContent").Value + "</body></html>";//WebBrowser背景色,字体大小
textViewer.NavigateToString(ConvertExtendedASCII(text));
}
});
}
}
catch (Exception e)
{
}
}

private void goback_Click(object sender, RoutedEventArgs e)
{
this.NavigationService.GoBack();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息