2011-05-11 17 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") %>' 
相關問題