我有一个简单的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.IO;
public partial class WebClient : PhoneApplicationPage
{
public WebClient()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
WebClient webclient = new WebClient();
现在当我说webClient.
时,我希望在IntelliSense下拉列表中看到DownloadStringCompleted,但我没看到。当我强制使用它时,当然它不会编译。有什么问题?
我正在测试WebClient以查看它是否在我的项目中使用,因为我厌倦了异步调用和与HttpWebRequest相关联的多个线程
答案 0 :(得分:5)
您出于某种奇怪的原因使用名称“WebClient”作为PhoneApplicationPage
的类名。因此,当您使用此行时: -
WebClient webclient = new WebClient();
它会尝试创建您网页的另一个实例,当然没有DownloadStringCompleted
或WebClient
命名空间中System.Net
提供的任何其他内容。
我强烈建议您为页面指定一个不同的名称。如果你真的想把你的页面称为“WebClient”那么“WebClientPage”怎么样?
答案 1 :(得分:1)
似乎在这里工作正常。
我打开了预计贴在这里。
WebClient, HttpWebRequest and the UI Thread on Windows Phone 7
将WebClient使用情况更改为此
webClient.DownloadStringAsync(new Uri("http://www.bing.com"));
webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
并将新的事件处理程序编写为
void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) {
System.Diagnostics.Debug.WriteLine("e.Error: " + e.Error);
webClientTextBlock.Text = e.Result;
}
和以前一样工作,除了我通过e.Result而不是流来拉一个字符串。
答案 2 :(得分:1)
您需要查看参考装配体。添加与WP7相关的程序集,以查看intellisense是否正常工作。