|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Can a repeater's ItemTemplate instantiate derived classes?<asp:Repeater ID="CriteriaRepeater" runat="server" > <ItemTemplate> <uc1:BaseControl ID="BaseControl1" BindData='<%# Container.DataItem %>' runat="server" /> </ItemTemplate> </asp:Repeater> The thing that is getting repeated for each item in the datasource is a user control that is a base class. I would like it to actually create different controls that are devired from the base control, depending on the values in the datasource. For example, if there are three classes derived from BaseControl1 (DerivedControl1, DerivedControl2, DerivedControl3), if the datasource has three records, the repeater would be able to create one instance of each of the derived classes rather than three instances of the base class. Is this possible? Thanks in advance, John Dear John
In my opinion (for what it's worth) it is doubtful that the runtime is that clever. Any controls types that are created which can be handled by predefined post-back events have to be declared explicitly in the template. I will happlily be proved wrong but I came up against something similar to this myself. I wanted to create link-button controls programmatically in a DataList control or table. The trouble is that you can't write event handlers on the fly at runtime. The solution for me was to create hyperlinks in a table object that generated Querystring parameters in the navigateUrl property. If anyone knows a better way I'd be grateful and am sure a similar technique would help John. Phil Hall Big Daddy wrote: Show quoteHide quote > I would like to have a repeater class like this: > > <asp:Repeater ID="CriteriaRepeater" runat="server" > > <ItemTemplate> > <uc1:BaseControl ID="BaseControl1" BindData='<%# > Container.DataItem %>' runat="server" /> > </ItemTemplate> > </asp:Repeater> > > The thing that is getting repeated for each item in the datasource is a > user control that is a base class. I would like it to actually create > different controls that are devired from the base control, depending on > the values in the datasource. For example, if there are three classes > derived from BaseControl1 (DerivedControl1, DerivedControl2, > DerivedControl3), if the datasource has three records, the repeater > would be able to create one instance of each of the derived classes > rather than three instances of the base class. Is this possible? > > Thanks in advance, > John
only for expert: what's wrong with this code?
ButtonField and Eval asp.net 2.0 gridview controls - bound or unbound? Enabling Windows Authentication from inside Forms Authentication (ASP.NET 2.0) Javascript and asp.net - TextBox backcolor not changing... GridView - ObjectDataSource - Dynamic Columns javascript and navigateurl a bug in BaseValidator.RegisterValidatorCommonScript() implementat dropdownlist in Formview with datasource - setting selected value from session variable Class Menu problems |
|||||||||||||||||||||||