2014-07-08 24 views
0

這是我的代碼:如何設置對象槽UserControl?

<uc4:RotatorTestata ID="RotatorTestata2" PaginaPer='<%#Eval("myObject")%>' runat="server" /> 

myObject的是類型MyObject。 在另一方面,我有:

public MyObject PaginaPer { get; set; } 

,但它不能夠傳遞myObject的實例。它始終爲空。 我錯在哪裏?

+0

你需要在某個地方實例化屬性它不是空的。 – Bun

+0

你能提供更多關於代碼的上下文嗎?什麼是商品來源? myObject在哪裏定義?等等 –

回答

1

在你的代碼後面放一個函數,並調用該函數來代替Eval。

<uc4:RotatorTestata ID="RotatorTestata2" PaginaPer='<%# GetMyObject()%>' runat="server" /> 


MyObject GetMyObject() 
{ 
    return myobject instance here. 
} 

你也可以在代碼中做背後像

RotatorTestata2.PaginaPer = new MyObject(); 

如果其內部的GridView /中繼器,你可以捕捉RowDataBoundEvent和寫出這樣

Protected void OnRowDataBound(Object sender, GridViewRowEventArgs e) 
{ 
    var rotator e.Row.FindControl("RotatorTestata2") as RotatorTestata ; 
    rotator.PaginaPer= new MyObject(); 
}