C# 嵌套用户控件-从何处开始?

C# 嵌套用户控件-从何处开始?,c#,asp.net,C#,Asp.net,我正在尝试构建一个“Tabs”用户控件,该控件将收集嵌套在自身中的所有控件,并将它们包装在一组特定的html中。每个嵌套用户控件应正常显示。我可以从哪里开始 编辑: 我想我可以使用asp:Menu和asp:MultiView并用适当的类来包装它们 希望我能删除asp:Menu放入的自动生成的css。你知道怎么做吗?这是一个MSDN VB解决方案,可以很容易地翻译成C 但是,根据您试图完成的任务,这听起来可能是一个过于复杂或过于致命的解决方案。这是一个MSDN VB解决方案,可以很容易地转换

我正在尝试构建一个“Tabs”用户控件,该控件将收集嵌套在自身中的所有控件,并将它们包装在一组特定的html中。每个嵌套用户控件应正常显示。我可以从哪里开始

编辑:


我想我可以使用
asp:Menu
asp:MultiView
并用适当的类来包装它们


希望我能删除asp:Menu放入
的自动生成的css。你知道怎么做吗?

这是一个MSDN VB解决方案,可以很容易地翻译成C


但是,根据您试图完成的任务,这听起来可能是一个过于复杂或过于致命的解决方案。

这是一个MSDN VB解决方案,可以很容易地转换为C


但是,根据您试图完成的任务,这听起来可能是一个过度复杂或过度杀伤力的解决方案。

我认为您的观点是正确的,这有点过度杀伤力。只要运行上面的代码,我就会得到:类型“ASP.usercontrols\u tabs\u ascx”没有名为“ControlA”的公共属性。听起来用户控件没有在页面顶部注册。have ControlA、B、C对于用户控件的使用有点违反直觉。用户控件用于代码的重用。在这里,您似乎不会重用任何东西,因此您需要通过编程将控件添加到页面中,以便可以反复使用相同的控件。例如,我在page.aspx,在page.aspx,I@Register Tabs,ControlA,ControlB,ControlC。当我这样嵌套它们时,我得到一个错误,ControlA/B/C没有在Tabs.ascx上注册,而不是在Page.aspx上注册。为了使用它们,我试图避免在Tabs.ascx中@Register东西。我发现了另一种机制(asp:Menu和asp:MultiView),它允许我实现某种选项卡效果。我已经编辑了这个问题。我认为你说的有点过火是对的。只要运行上面的代码,我就会得到:类型“ASP.usercontrols\u tabs\u ascx”没有名为“ControlA”的公共属性。听起来用户控件没有在页面顶部注册。have ControlA、B、C对于用户控件的使用有点违反直觉。用户控件用于代码的重用。在这里,您似乎不会重用任何东西,因此您需要通过编程将控件添加到页面中,以便可以反复使用相同的控件。例如,我在page.aspx,在page.aspx,I@Register Tabs,ControlA,ControlB,ControlC。当我这样嵌套它们时,我得到一个错误,ControlA/B/C没有在Tabs.ascx上注册,而不是在Page.aspx上注册。为了使用它们,我试图避免在Tabs.ascx中@Register东西。我发现了另一种机制(asp:Menu和asp:MultiView),它允许我实现某种选项卡效果。我已经编辑了显示这一点的问题。
<uc:Tabs runat="server">
    <uc:ControlA runat="server" />
    <uc:ControlB runat="server" />
    <uc:ControlC runat="server" />
</uc:Tabs>
        <asp:Menu
            id="Menu1"
            StaticMenuItemStyle-CssClass="tab"
            StaticSelectedStyle-CssClass="selectedTab"
            CssClass="tabs"
            OnMenuItemClick="Menu1_MenuItemClick"
            Runat="server">
            <Items>
            <asp:MenuItem Text="Tab 1" Value="0" Selected="true" />
            <asp:MenuItem Text="Tab 2" Value="1" />
            <asp:MenuItem Text="Tab 3" Value="2" />
            </Items>    
        </asp:Menu>

        <asp:MultiView ID="MultiView1" ActiveViewIndex="0" runat="server">
            <asp:View ID="View1" runat="server">
                <hi5:GameInfo runat="server" />
            </asp:View>
            <asp:View ID="View2" runat="server">
                <hi5:GamePlayerInfo runat="server" />
            </asp:View>
            <asp:View ID="View3" runat="server">
                <hi5:GuildInfo runat="server" />
            </asp:View>
        </asp:MultiView>