У меня есть страница, которая использует большой фильтрованный объект EF в нескольких сетках данных, поэтому каждая сетка данных отображает свое «Состояние».Код страницы выходит из-под контроля, поэтому я хотел разделить разделы на пользовательские.Я хочу получить данные только один раз, поэтому хочу передать правильно отфильтрованный список объектов данных соответствующему пользовательскому контролю.Я просто не знаю, как это сделать.Любые предложения?
Спасибо,
Ронда
Мой объект данных
activeDisplayChecklist = allDisplayChecklist.Where(x => x.ChecklistStatus.ToString().ToUpper() != Checklist.ChecklistStatus.Approved.ToDescriptionString().ToUpper() && x.ChecklistStatus.ToString().ToUpper() != Checklist.ChecklistStatus.Canceled.ToDescriptionString().ToUpper()).ToList();
Workqueue.ascx.cs
public partial class WorkQueue : System.Web.UI.UserControl
{
public List<Entities.Checklist> activeChecklists { get; set; }
private List<AMWOTPortalDisplay> ActiveDisplayChecklist = new List<AMWOTPortalDisplay>();
public List<AMWOTPortalDisplay> activeDisplayChecklist
{
get
{
return ActiveDisplayChecklist;
}
set
{
ActiveDisplayChecklist = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
PopulateWorkQueueGrid();
}
//show statuses that require approval (Submitted or CTO Exception)
//public void PopulateWorkQueueGrid(List<AMWOTPortalDisplay> ActiveDisplayChecklist)
public void PopulateWorkQueueGrid()
{
// ActiveDisplayChecklist всегда равно Count = 0 или null.
Список отфильтрованного спискаChecklist = ActiveDisplayChecklist.Where (x => x.ChecklistStatus.ToString (). ToUpper () == Checklist.ChecklistStatus.Submitted.ToDescriptionString ().|| x.ChecklistStatus.ToString (). ToUpper () == Checklist.ChecklistStatus.CTOException.ToDescriptionString (). ToUpper ()). ToList ();WorkQueueGrid.DataSource = FilterChecklist.ToList ();WorkQueueGrid.DataBind ();}}
<WQ:WorkQueueList ID="WorkQueueList" runat="Server"></WQ:WorkQueueList>
portal.aspx.cs (здесь объекты содержат 9 и 12 строк)
WorkQueue wq = new WorkQueue();
wq.activeChecklists = activeChecklists.ToList();
wq.activeDisplayChecklist = activeDisplayChecklist.ToList();