将值从页面传递到列表中的另一个页面

时间:2020-08-30 06:16:19

标签: 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页的现有数据中,但是这些行正在datatoSave列表中创建另一个IEnumerable,并且注释字段未添加到以前的数据中!我应该怎么做才能代替这些线? 因为我必须通过page2.xaml.cs添加备注字段!

1 个答案:

答案 0 :(得分: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();