如何在 Windows Phone 中区分从两个页面发送的数据
本文关键字:两个 数据 Windows Phone 中区 | 更新日期: 2023-09-27 18:36:37
>假设我从第 1 页发送数据,如下所示,
NavigationService.Navigate(new Uri("/Page2?id=" + id, UriKind.Relative));
而且,如果我将另一个数据从第 3 页再次发送到第 2 页,如下所示,
NavigationService.Navigate(new Uri("Page2?data=" + data, UriKind.Relative));
我如何区分数据,以及我想要是否可以确定控件应该使用哪个功能?如果是这样,请告诉我方法或建议我一份文件。
检查查询字符串参数
private bool HasData
{
get
{
return NavigationContext.QueryString.ContainsKey("data");
}
}
private bool HasId
{
get
{
return NavigationContext.QueryString.ContainsKey("id");
}
}
private string ReadValue(string key)
{
return NavigationContext.QueryString[key];
}
读取值
private void DoAction()
{
if (HasData)
{
var data = this.ReadValue("data");
}
else if (HasId)
{
var id = this.ReadValue("id");
}
}
}
好吧,
不要让你的生活困难使用简单的条件。 我的意思是
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (e.Uri.OriginalString.Contains("id"))
{
var ID = NavigationContext.QueryString["id"];
//this is a parameter from page1
// do something
}
else if (e.Uri.OriginalString.Contains("data"))
{
var data = NavigationContext.QueryString["data"];
//this is a parameter from page2
// do something
}
}
就是这样(: