Eval внутри ретранслятора ASP.net не работает внутри другого элемента управления
У меня есть элемент управления Reapter с пользовательским элементом управления на стороне сервера. Когда я размещаю код:
<%# Eval("DateAdded") %>
внутри шаблона элемента повторителя он работает нормально, но когда я помещаю его в пользовательский серверный элемент управления внутри повторителя, он не работает. Можно ли сделать что-то вроде Parent.Eval() или Container.Eval(), чтобы вернуться к контексту Reapeter, а не к пользовательскому элементу управления?
2 ответа
Повторитель привязан к данным, а элемент управления, в который вы помещаете этот оператор eval, - нет. Вам нужно будет передать значение в элемент управления, используя свойство.
Например:
<uc1:MyControl MyProperty='<%# Eval("DateAdded") %>' />
Теперь вы можете получить доступ к MyProperty
свойство внутри вашего контроля для доступа к этому значению.
Он должен работать. Можете ли вы предоставить больше контекста / кода для управления сервером?
Кроме того, вы используете одинарные кавычки для динамического задания свойств элемента управления с помощью eval? Двойные кавычки должны выдавать ошибку, а не просто игнорироваться.
MyProperty='<%# Eval("DateAdded") %>'