我有一个 Reapter 控件,里面有一个自定义的服务器端控件。当我放置代码时:
<%# Eval("DateAdded") %>
在转发器的项目模板内它工作正常,但是当我将它放在转发器内的自定义服务器控件中时,它不起作用。是否可以执行 Parent.Eval() 或 Container.Eval() 之类的操作来返回 Reapeter 的上下文而不是自定义控件?
我有一个 Reapter 控件,里面有一个自定义的服务器端控件。当我放置代码时:
<%# Eval("DateAdded") %>
在转发器的项目模板内它工作正常,但是当我将它放在转发器内的自定义服务器控件中时,它不起作用。是否可以执行 Parent.Eval() 或 Container.Eval() 之类的操作来返回 Reapeter 的上下文而不是自定义控件?
它应该工作。您可以为服务器控件提供更多上下文/代码吗?
另外,您是否使用单引号在使用 eval 的控件上动态设置属性?双引号应该引发错误,而不仅仅是被忽略。
MyProperty='<%# Eval("DateAdded") %>'
中继器是数据绑定的,您放置此 eval 语句的控件不是。您需要使用属性将值传递给控件。
例如:
<uc1:MyControl MyProperty='<%# Eval("DateAdded") %>' />
您现在可以访问MyProperty
控件内的属性来访问此值。