#xamarin.forms #xamarin.android
#xamarin.forms #xamarin.android
Вопрос:
это моя модель
public class QMSRejection
{
public string Date { get; set; }
public string Grade { get; set; }
public string Resd { get; set; }
public string Remarks { get; set; }
}
это моя firstpage.xaml.cs, откуда я передаю данные на другую страницу!
List<QMSRejection> DataToSave = new List<QMSRejection>();
var rej = new QMSRejection();
rej.Date = DateTime.Now.ToShortDateString();
rej.Grade = GradeID;
rej.Resd = ResdId;
DataToSave.Add(rej);
await Navigation.PushAsync(new Rejection2ndForm(DataToSave));
теперь на второй странице я получаю его, данные поступают, все работает нормально!
public partial class Page2 : ContentPage
{
List<QMSRejection> DataToSave = new List<QMSRejection>();
public Rejection2ndForm(List<QMSRejection> models)
{
InitializeComponent ();
DataToSave = models;
}
}
var rej = new QMSRejection();
rej.Remarks = ent3.Text.ToString();
DataToSave.add(rej);
У меня есть примечания к полям, которые я пытаюсь добавить к существующим данным, поступающим со страницы 1. Но эти строки создают еще одно поле IEnumerable в списке сохранения данных, и поле примечания не добавляется к предыдущим данным! Что я должен сделать вместо этих строк, чтобы сделать?
Поскольку я должен добавить поле примечания через page2.xaml.cs !
Ответ №1:
это создает новый QMSRejection
объект и добавляет его в ваш список
var rej = new QMSRejection();
rej.Remarks = ent3.Text.ToString();
DataToSave.add(rej);
если вместо этого вы хотите изменить существующий QMSRejection
объект
// [0] means the first object in the list
DataToSave[0].Remarks = ent3.Text.ToString();