gpt4 book ai didi

c# - 如何在自身内部嵌套 ASP.Net 用户控件?

转载 作者:行者123 更新时间:2023-11-30 12:32:41 25 4
gpt4 key购买 nike

我认为简短的回答是你不能,但必须有某种方式来实现它。我想制作一个项目列表,然后在其中包含一个项目列表,只嵌套一层。即:

 Repeater  
UserControl1
UserControl1
UserControl1
UserControl1
UserControl1
UserControl1
UserControl1

我真的很想尽可能避免使用 LoadControl,因为我在服务器端单击事件中添加到此列表,所以我无法在 PageInit 上执行 loadControl 以使所有 View 状态正常工作。

我将尝试编写一个快速的伪代码示例,它看起来像这样:

页面.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>

关于c# - 如何在自身内部嵌套 ASP.Net 用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11021827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com