我有从我的数据库收到的多个数据,我希望所有数据都用我的pin发送,但我不知道应该怎么做。现在我发送pin.Name + pin.Address
,但我希望从特定的引脚信息到达下一页。所以在我的情况下,例如,电话号码,URL等,但由于我现在发送我的pin作为发件人,我不知道如何发送所有信息。
这是我正在使用的代码:
private async Task<List<Pin>> LoadData()
{
var pins = new List<Pin> ();
var getItems = await phpApi.getInfo ();
foreach (var currentItem in getItems["results"]) {
longString = currentItem ["long"].ToString ();
latString = currentItem ["lat"].ToString ();
nameString = currentItem ["name"].ToString ();
adressString = currentItem ["adress"].ToString ();
phoneString = currentItem ["phone"].ToString ();
urlString = currentItem ["URL"].ToString ();
var pin = new Pin ();
pin.Position = new Position (latString, longString);
pin.Label = nameString;
pin.Address = adressString;
pin.Clicked += onButtonClicked1;
pins.Add (pin);
}
}
void onButtonClicked1 (object s, EventArgs a)
{
Pin pin = (Pin)s;
Navigation.PushModalAsync (new DetailPage ( pin.Label, pin.Address)); // How do I include all of the strings here to the next page?
}
答案 0 :(得分:0)
在自定义DetailPage
的构造函数内部,您应该能够收到Pin
个对象。
EX:
public class MyDetailPage : ContentPage
{
public MyDetailPage(Pin pin)
{
//Do whatever you need to do to your Pin here.
}
}
但是,我可能会说使用自定义对象会更容易。
即
public class MyCustomPinHolder
{
private string Phone { get; set; }
private string Name { get; set; }
...
private Pin Pin { get; set;}
}
一些注意事项: