Итак, у меня есть ObjectDataSource, у которого есть связанный с ним метод обновления и удаления, а DS связан с gridview. Когда я вызываю методы, я хочу, чтобы заселить выпадающий список в мастер-странице, содержащей те же данные сетки, поэтому я пытаюсь вызвать методы следующим образом:Методы ObjectDataSource не могут ссылаться на методы главной страницы
MyApp MasterPage = (MyApp)Page.Master;
MasterPage.getData();
Теперь, если я делать вставки из сетки (которая обрабатывается событием RowCommand, а не DS) это работает отлично, но через DS я получаю следующую ошибку: «Ссылка на объект не установлена в экземпляр объекта».
Я вижу некоторые поля на aspx, которые еще не доступны из обратной передачи, но как главная страница не может быть доступна для страницы, которая зависит от нее? Должен ли я быть в состоянии ссылаться на него? есть ли какой-нибудь бэкдорский трюк? Я знаю, что могу избавиться от DS, но я хочу использовать его, потому что это упрощает разбиение на страницы и сортировку.
Благодаря
Вы поставили точку останова перед 'MasterPage.getData()', чтобы проверить, что MasterPage имеет значение NULL? Если вы это сделаете и обнаружите, что это не null, вы можете перейти в 'getData()' и посмотреть, есть ли там нулевая ссылка. – mafue
Yep, masterPage is null – Limey
Когда я вникнул в это немного больше, он вызывает метод, но так как метод ссылается на раскрывающийся список (который еще не существует) его спасение. – Limey