我有一個compositeDatabound控件:MyGrid,MyItemTemplate和MyContainer容器。 我有一個類的用戶。泛型複合數據綁定控件
public class MyGrid: CompositeDataBoundControl
{
[TemplateContainer(typeof(MyGrid.MyContainer))]
public ITemplate MyItemTemplate
{
//get;set;
}
public class MyContainer: Control, INamingContainer
{
//return DataItem of type User
}
//rest of all code
}
這可以幫助我使用:<%# Container.DataItem.FirstName %>
其中FirstName是用戶類中的一個屬性。
現在我想使它成爲一個通用的網格即MyGrid<T>
所以我要修改我TemplateContainer以及這樣的:
[TemplateContainer(typeof(MyGrid<>.MyContainer))]
的MyGrid類編譯罰款沒有任何錯誤:我創建了一個具體類即
MyUserGrid: MyGrid<User>
它編譯也很好。但這不是ASP.NET所喜歡的。我指的是類本身編譯沒有錯誤,但我可以不再使用:
<%# Container.DataItem.User.FirstName %>
任何幫助/想法如何使這一類型化的網格,以通用類型化的電網?
This是我發現的東西,看起來很複雜。這是唯一的方法嗎?我不想在鏈接中傳遞類型。相反,我將通過派生一個泛型類來創建我的具體類。
我嘗試不斷給我這個錯誤:Invalid expression term '>'
補充:這是ASP.NET 2.0 Web窗體