Похоже, вы только что объявили свою переменную как локальную переменную для Page_Load
.Чтобы ссылаться на переменную в любом другом методе, он, по крайней мере, должен быть членом класса.Конечно, вы используете анонимный тип, и сам тип также должен находиться в области видимости.
Одним из способов решения этой проблемы является объявление типа в классе, возможно, просто в виде внутренней структуры,Тогда тип больше не является анонимным, поэтому вы можете объявить члена класса как коллекцию вашего нового типа.Вы можете присвоить эту переменную в Page_Load
, а затем получить доступ к переменной в другом месте вашего класса.
Редактировать:
Разновидность "ленивой загрузки" Яв моем комментарии упоминается не языковая функция с ключевым словом lazy
, ни что-либо, связанное с yield
и т. д., а просто вот что:
private IQueryable<AddedRecord> _customersAdded;
// make this public if you want to access outside the class
private IQueryable<AddedRecord> CustomersAdded
{
get
{
if (_customersAdded == null)
{
// replace next statement with the query you need
_customersAdded = AddedRecords.Where(something);
}
return _customersAdded;
}
}
Теперь, если вам нужно больше параметров дляэтот запрос происходит, вы всегда можете заполнить _customersAdded заранее.По общему признанию, это своего рода тривиальный пример.