Разница при объявлении источника данных в разметке по сравнению с выделенным кодом? - PullRequest
0 голосов
/ 13 января 2011

У меня есть устаревшее решение, в котором все DataSource определены в разметке для всех .aspx-страниц.Проблема, с которой я столкнулся, заключается в том, что экземпляр DataSource создается несколько раз, так как он используется на странице, элементе управления ... Я хочу, чтобы NInject управлял созданием экземпляра DataSource, чтобы этого не произошло.У меня есть эта часть для своего рода работы, но когда DataSource определено в коде позади, а не в разметке, свойство Page не установлено на DataSource, кто-нибудь знает почему?

Простое решение этого - установить свойство Page в базовом классе или что-то в этом роде, но я думаю, что свойство должно быть там, и хочу знать, почему.

Ответы [ 2 ]

1 голос
/ 13 января 2011

Вам нужно позвонить DataBind() после того, как вы его установите.

WebControl1.DataSource = something;
WebControl1.DataBind();
0 голосов
/ 13 января 2011

Это может иметь отношение к моменту времени создания экземпляра в жизненном цикле страницы? Можете ли вы отслеживать (отлаживать) создание экземпляров кода? Какой обратный вызов вы используете в коде? Если вы используете управляющий код, свойство Page может быть еще не установлено, чем. Поэтому выберите более поздний обратный вызов - после того, как элемент управления уже добавлен на какую-либо страницу.

...