2011-05-11 18 views
0

我有一个Reapter控件,里面有一个自定义的服务器端控件。当我将程式码:在一个ASP.net转发器中的Eval在另一个控件内不起作用

<%# Eval("DateAdded") %> 

中继器的项目模板中它工作正常,但是当我把它转发里面的自定义服务器控件中,这是行不通的。 是否可以像Parent.Eval()或Container.Eval()那样回到Reapeter的上下文而不是自定义控件?

回答

0

该中继器是数据绑定,您将这个eval语句放入的控件不是。您需要使用属性将值传递给控件。

例如:

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

您现在可以访问MyProperty属性控件内访问此值。

+0

这是否要求MyProperty事先定义为属性,还是只能在飞行中完成?我无法访问自定义控件的源代码,因此我无法添加属性。 – 2011-05-12 21:23:23

+0

是的,它需要是控件上的一个属性。 – 2011-05-12 22:31:02

0

它应该工作。你能为服务器控件提供更多的上下文/代码吗?

另外,你是否使用单引号来动态地使用eval来设置控件的属性?双引号应该会引发错误,而不仅仅是被忽略。

MyProperty='<%# Eval("DateAdded") %>' 
相关问题