Json 刷新Webclient以获取新数据
在我使用它的时候,我必须重新启动应用程序来刷新数据。有几篇帖子说我应该在末尾加上一个随机数,但我不能这样做,因为我在末尾加了一个数字,这样它才能工作 解决办法是什么Json 刷新Webclient以获取新数据,json,windows-phone-7,webclient,Json,Windows Phone 7,Webclient,在我使用它的时候,我必须重新启动应用程序来刷新数据。有几篇帖子说我应该在末尾加上一个随机数,但我不能这样做,因为我在末尾加了一个数字,这样它才能工作 解决办法是什么 void myButton_Click(object sender, RoutedEventArgs e) { i = 0; lstService.Items.Clear(); lstDestination.Items.Clear(); listTime.
void myButton_Click(object sender, RoutedEventArgs e)
{
i = 0;
lstService.Items.Clear();
lstDestination.Items.Clear();
listTime.Items.Clear();
if (textSearchBox.Text == "Cranleigh Avenue")
{
textBlock2.Text = textSearchBox.Text;
txtstopId.Text = "6445";
}
if (textSearchBox.Text == "Cranleigh Avenue (briamaw)")
{
textBlock2.Text = textSearchBox.Text;
txtstopId.Text = "7099";
}
else if (textSearchBox.Text == "Brighton Station (stop A)")
{
textBlock2.Text = textSearchBox.Text;
txtstopId.Text = "7052";
}
else if (textSearchBox.Text == "Brighton Station (stop B)")
{
textBlock2.Text = textSearchBox.Text;
txtstopId.Text = "7053";
}
else if (textSearchBox.Text == "Brighton Station (stop C)")
{
textBlock2.Text = textSearchBox.Text;
txtstopId.Text = "7054";
}
else if (textSearchBox.Text == "Brighton Station (stop D)")
{
textBlock2.Text = textSearchBox.Text;
txtstopId.Text = "7055";
}
else if (textSearchBox.Text == "Sea Life Centre (stop K)")
{
textBlock2.Text = textSearchBox.Text;
txtstopId.Text = "7642";
}
else if (textSearchBox.Text == "Race Hill")
{
textBlock2.Text = textSearchBox.Text;
txtstopId.Text = "6724";
}
string myvar = txtstopId.Text;
textSearchBox.Text = "";
try
{
WebClient webClient = new WebClient();
Uri uri = new Uri("http://www.URL.aspx?stopid=" + HttpUtility.UrlEncode(myvar));
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
webClient.OpenReadAsync(uri);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public int i;
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
DataContractJsonSerializer ser = null;
try
{
ser = new DataContractJsonSerializer(typeof(RootContainer));
RootContainer rootContainer = ser.ReadObject(e.Result) as RootContainer;
foreach (Departures em in rootContainer.Departures)
{
i = i + 1;
if (i < 9)
{
string id = em.ServiceName;
string dt = em.Destination;
string tm = em.DepartureTimeAsString;
lstService.Items.Add(id);
lstDestination.Items.Add(dt);
listTime.Items.Add(tm);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我会使用时间戳而不是随机数:
string url = string.Format("http://www.URL.aspx?stopid={0}&ts={1}",
HttpUtility.UrlEncode(myvar),
DateTime.Now.Ticks);
Uri uri = new Uri(url);
我会使用时间戳而不是随机数:
string url = string.Format("http://www.URL.aspx?stopid={0}&ts={1}",
HttpUtility.UrlEncode(myvar),
DateTime.Now.Ticks);
Uri uri = new Uri(url);
当我在上面替换它时,它抛出formatexpection
WebClient-WebClient=new-WebClient();字符串url=string.Format(“http://www.URL.aspx?stopid={0}&ts={1}”,HttpUtility.UrlEncode(myvar)+DateTime.Now.Ticks);Uri=新的Uri(url);webClient.OpenReadCompleted+=新的OpenReadCompletedEventHandler(webClient\u OpenReadCompleted);OpenReadAsync(uri)代码>编辑-刚刚添加了它。你能把它放到主要问题中吗。它的格式更简单。它应该是myVar和DAteTime.Now.Ticks之间的逗号,格式为string.format(“url?stopid={0}&ts={1}”,HttpUtility.UrlEncode(myVar),DAteTime.Now.Ticks);当我在上面替换它时,它抛出formatexpectionWebClient-WebClient=new-WebClient();字符串url=string.Format(“http://www.URL.aspx?stopid={0}&ts={1}”,HttpUtility.UrlEncode(myvar)+DateTime.Now.Ticks);Uri=新的Uri(url);webClient.OpenReadCompleted+=新的OpenReadCompletedEventHandler(webClient\u OpenReadCompleted);OpenReadAsync(uri)代码>编辑-刚刚添加了它。你能把它放到主要问题中吗。它的格式更简单。它应该是myVar和DAteTime.Now.Ticks之间的逗号,格式为string.format(“url?stopid={0}&ts={1}”,HttpUtility.UrlEncode(myVar),DAteTime.Now.Ticks);