我正在从 Web 服务获取数据并将其加载到 Picker 中。现在我想调用一个新的网络服务来获取与所选项目相关的一些数据。但是我没有得到那个选定的项目。
我正在使用下面的类模型从 Web 服务获取数据并将其加载到 Picker 中。
public class ModelGetEmployeeList
{
public string ServiceStatus { get; set; }
public List<EmployeeList> EmpList { get; set; }
}
public class EmployeeList
{
public string uid { get; set; }
public string fname { get; set; }
public string lname { get; set; }
}
这就是我在 Picker
中加载数据的方式:
if (response.IsSuccessStatusCode)
{
var content = await response.Content.ReadAsStringAsync ();
var Items = JsonConvert.DeserializeObject <ModelGetEmployeeList> (content);
foreach(EmployeeList emp in Items.EmpList)
{
pickerEmployee.Items.Add(emp.uid.ToString()+"-"+emp.fname.ToString()+" "+emp.lname.ToString());
}
}
现在我正在像这样实现 SelectedIndexChanged
事件:
public void PickerEmployee_SelectedIndexChanged(object sender, SelectedItemChangedEventArgs e)
{
if (pickerEmployee.SelectedIndex == -1)
{
//Message
}
else
{
var item = sender as EmployeeList;
var selectedItem = item.uid;
DisplayAlert (selectedItem.ToString (), "OK", "OK");
}
}
但它给我一个错误,上面的方法有错误的签名。
最佳答案
你可以用这个来获取选择的值(value):
string selectedEmployee = string.Empty;
selectedEmployee = pickerEmployee.Items[pickerEmployee.SelectedIndex];
https://stackoverflow.com/questions/38764006/