Eval внутри ретранслятора ASP.net не работает внутри другого элемента управления

У меня есть элемент управления Reapter с пользовательским элементом управления на стороне сервера. Когда я размещаю код:

<%# Eval("DateAdded") %>

внутри шаблона элемента повторителя он работает нормально, но когда я помещаю его в пользовательский серверный элемент управления внутри повторителя, он не работает. Можно ли сделать что-то вроде Parent.Eval() или Container.Eval(), чтобы вернуться к контексту Reapeter, а не к пользовательскому элементу управления?

2 ответа

Решение

Повторитель привязан к данным, а элемент управления, в который вы помещаете этот оператор eval, - нет. Вам нужно будет передать значение в элемент управления, используя свойство.

Например:

<uc1:MyControl MyProperty='<%# Eval("DateAdded") %>' />

Теперь вы можете получить доступ к MyProperty свойство внутри вашего контроля для доступа к этому значению.

Он должен работать. Можете ли вы предоставить больше контекста / кода для управления сервером?

Кроме того, вы используете одинарные кавычки для динамического задания свойств элемента управления с помощью eval? Двойные кавычки должны выдавать ошибку, а не просто игнорироваться.

MyProperty='<%# Eval("DateAdded") %>'
Другие вопросы по тегам