Соответствующий ответ на ваш вопрос может быть предоставлен только после того, как вы знаете, как вы выполняете привязку данных. Выполняете ли вы привязку данных к коду, вызывая метод .DataBind() для datalist или предоставляете источник данных для связанного с ним источника данных. Причина, по которой я задаю этот вопрос, заключается в том, что если вы используете метод dataBind() для datalist из кода для привязки к каталогу данных, вам нужно будет вызвать его при каждом обратном обращении, чтобы убедиться, что datalist снова получает привязку данных. В противном случае после сообщения назад вы увидите, что datalist отображается пустым. В случае, если вы предоставляете источник данных для datalist для привязки, используя его свойство DataSource или DataSourceId, привязка данных к каталогу данных на каждом столбце позаботится об этом, вам не нужно беспокоиться об этом.
Но из-за внешнего вида вещей я считаю, что вы получаете значение как null, потому что пытаетесь получить значение DataItem в неправильном месте. Помните, что вам нужно будет следовать правильному жизненному циклу элемента управления, чтобы он работал для вас так, как вы хотите, чтобы он работал.
Я могу предоставить лучший ответ, если вы можете ответить на мои вопросы выше. Ваше текущее заявление кажется недостаточным для предоставления соответствующего ответа.
Необходимо переустановить элемент управления. ViewState не будет сохранять ваши привязанные к данным элементы. – 2009-10-31 04:14:29