c# – 如何在自己内部嵌套ASP.Net用户控件?
发布时间:2020-12-15 17:26:50 所属栏目:百科 来源:网络整理
导读:我认为简短的答案是你做不到,但必须有一些方法来实现它.我想制作一个项目列表,然后列出其中的项目列表,只嵌套一个级别.即: Repeater UserControl1 UserControl1 UserControl1 UserControl1 UserControl1 UserControl1 UserControl1 我真的很想避免使用LoadC
我认为简短的答案是你做不到,但必须有一些方法来实现它.我想制作一个项目列表,然后列出其中的项目列表,只嵌套一个级别.即:
Repeater UserControl1 UserControl1 UserControl1 UserControl1 UserControl1 UserControl1 UserControl1 我真的很想避免使用LoadControl,因为我在服务器端单击事件中添加到此列表,因此我无法在PageInit上执行loadControl以使所有viewstate工作正常. 我将尝试编写一个快速的伪代码示例,它看起来像这样: Page.aspx <asp:repeater runat="Server" id="someRepeater"> <uc:UserControl1 runat="Server" id="ctrlParent" /> </asp:repeater> UserControl1.ascx <asp:label id="label1" runat="server" /> <asp:repeater runat="server" id="childRepeater"> <uc:UserControl1 runat="server" id="ctrlChild" /> </asp:repeater> UserControl1.ascx.vb If me.HasChildren then 'BindChildRepeater' end if sub Fill(Data as RelevantData) label1.Text = Data.SomeText end sub sub ChildRepeater_ItemDataBound(object as sender,e as someArgs) Dim childCtrl = e.item.findcontrol("ctrlChild") childCtrl.Fill(e.item.dataitem) end sub 解决方法
您可以将转发器嵌套在转发器中
<asp:repeater runat="Server" id="someRepeater1"> <uc:UserControl1 runat="Server" id="ctrlParent1" /> <asp:repeater runat="Server" id="someRepeater2"> <uc:UserControl1 runat="Server" id="ctrlParent2" /> </asp:repeater> </asp:repeater> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |