C# 4.0 带链接按钮的嵌套中继器控件

C# 4.0 带链接按钮的嵌套中继器控件,c#-4.0,drop-down-menu,repeater,asplinkbutton,C# 4.0,Drop Down Menu,Repeater,Asplinkbutton,我正在尝试创建一个带有嵌套中继器和链接按钮的下拉菜单 <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li>

我正在尝试创建一个带有嵌套中继器和链接按钮的下拉菜单

<asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <ul>
            </HeaderTemplate>
            <ItemTemplate>
                <li>
                    <asp:LinkButton ID="LinkButton_Category" runat="server" Text='<%#Eval("cat") %>'
                    OnCommand="LinkButton_Category_Command" CommandName="Category" 
                    CommandArgument='<%#Eval("catid") %>'></asp:LinkButton>
                <asp:Repeater ID="Repeater2" runat="server">
                    <HeaderTemplate>
                        <ul>
                    </HeaderTemplate>

                    <ItemTemplate>
                        <li>
                            <asp:LinkButton ID="LinkButton_UseClass" runat="server" Text='<%#Eval("useclass") %>'
                            OnCommand="LinkButton_UseClass_Command" CommandName="UseClass" 
                            CommandArgument='<%#Eval("UcId") %>'></asp:LinkButton>
                        </li>
                    </ItemTemplate>
                    <FooterTemplate>
                        </ul>
                    </FooterTemplate>
                </asp:Repeater>
                </li>
            </ItemTemplate>
            <FooterTemplate>
                </ul>
            </FooterTemplate>
        </asp:Repeater>

我相信这就是您想要的:

    $(document).ready(function () {
        $("#nav li").each(function (index) {
            var sibling = $(this).find("a").next();
            sibling.hide();
        });
        $("#nav li").click(function () {
            $("#nav li").each(function (index) {
                var sibling = $(this).find("a").next();
                sibling.hide();
            });
            var sibling = $(this).find("a").next();
            sibling.show();
        });
    }); 
编辑

以下是中继器的输出:

<body>
    <form id="form1" runat="server">
    <div id="nav">
    <ul>
        <li><a href="#">Alpha</a>
            <ul>
                <li><a href="#">A</a></li>
                <li><a href="#">B</a></li>
                <li><a href="#">C</a></li>
                <li><a href="#">D</a></li>
            </ul>
        </li>
        <li><a href="#">Numeric</a>
            <ul>
                <li><a href="#">1</a></li>
                <li><a href="#">2</a></li>
                <li><a href="#">3</a></li>
                <li><a href="#">4</a></li>
            </ul>
        </li>
    </ul>
    </div>
    </form>
</body>


不确定问题是什么。你是在问如何添加下拉列表吗?我正在寻找使用链接按钮和转发器的下拉菜单。我可以填充链接按钮,但单击时它们不会保持打开状态。您可以将幻灯片菜单的代码添加到您的问题中吗?另外,如果您可以添加页面的屏幕截图,它可以帮助我们准确地了解您想要实现的目标。@ShaiCohen:我试图使用jquery实现向下滑动菜单。下面是我使用的代码:$(document).ready(函数(){$(“#nav li”).click(函数(){var sibling=$(this).find(“a”).next();sibling.show();},函数(){var sibling=$(this).find(“a”).next();sibling.hide();});我不知道如何添加屏幕截图。我是新来的。我在你的问题中添加了JQuery代码。在屏幕截图上没有问题。你可以这样做:一旦你把截图保存到你的电脑上,点击你问题下面的“编辑”链接。然后将光标放在要添加屏幕截图的位置。按“Ctrl+G”,将出现一个diaglog框,允许您选择要上载的文件。你也可以参考meta上的这个问题了解更多信息:如果我给外部ul提供id=“nav”,子列表将不会保持打开状态。一旦我点击它们,它们就会关闭。如果我将id=“nav”给内部ul,内部列表和外部列表会同时打开。(与原始问题相同)。怎么办?尝试用id=“nav”奇怪的div包装中继器。我有工作中的示例代码。我大约一个小时后到,然后再打给你。
<body>
    <form id="form1" runat="server">
    <div id="nav">
    <ul>
        <li><a href="#">Alpha</a>
            <ul>
                <li><a href="#">A</a></li>
                <li><a href="#">B</a></li>
                <li><a href="#">C</a></li>
                <li><a href="#">D</a></li>
            </ul>
        </li>
        <li><a href="#">Numeric</a>
            <ul>
                <li><a href="#">1</a></li>
                <li><a href="#">2</a></li>
                <li><a href="#">3</a></li>
                <li><a href="#">4</a></li>
            </ul>
        </li>
    </ul>
    </div>
    </form>
</body>