如何在嵌套 ListView 中获取/设置 SelectedItem?

发布于 2024-11-28 13:00:50 字数 2542 浏览 4 评论 0原文

我正在使用嵌套的 ListView 来显示 LinkBut​​ton 列表。我想获取 ListView 中的 SelectedIndex (单击的链接按钮),但它始终为 -1。下面是我的代码。

<asp:ListView ID="lvw" runat="server" EnableViewState="true" 
                            OnItemCommand="ItemCommand" OnSelectedIndexChanging="lvw_OnSelectedIndexChanging" OnDataBound="lvw_OnDataBound">
    <LayoutTemplate>
        <ul style="margin-left: 0px; padding-left: 25px; list-style-type:none; color:Black;">
            <li id="itemPlaceholder" runat="server" style="margin-left: 0px;"/>
        </ul>
    </LayoutTemplate>
    <ItemTemplate>
        <li style="margin-bottom: 10px; margin-left: 0px;">    
            <asp:LinkButton ID="LinkButton1" runat="server" CssClass="NoUnderline"
                                        ForeColor="Black" OnCommand="QueueLinkButton_Click" OnDataBinding="QueueLinkButton_DataBind"
                                        CommandName='<%# Eval("SubQueueId")%>'
                                        CommandArgument='<%# Eval("QueueName")%>'><%# Eval("QueueName")%>
            </asp:LinkButton>
            <asp:ListView runat="server" ID="lvw2"
                                        DataSource='<%# Eval("ChildQueueNodes")%>'>
                <LayoutTemplate>
                    <ul style="margin-top: 10px; margin-left: 0px; 
                                                padding-left: 25px; list-style-type:none; color:Black;">
                        <li id="itemPlaceholder" runat="server" style="margin-left: 0px;"/>
                    </ul>
                </LayoutTemplate>
                <ItemTemplate>
                    <li style="margin-bottom: 10px; margin-left: 0px;">
                        <asp:LinkButton ID="LinkButton2" runat="server" CssClass="NoUnderline"
                                                    ForeColor="Black" OnCommand="QueueLinkButton_Click" OnDataBinding="QueueLinkButton_DataBind"
                                                    CommandName='<%# Eval("SubQueueId")%>'
                                                    CommandArgument='<%# Eval("QueueName")%>'><%# Eval("QueueName")%>
                        </asp:LinkButton>
                    </li>
                </ItemTemplate>                                            
            </asp:ListView>
        </li>
    </ItemTemplate>
</asp:ListView>

I'm using a nested ListView to display a list of LinkButtons. I want to get the SelectedIndex (the clicked linkbutton) in the ListView but it is always -1. Below is my code.

<asp:ListView ID="lvw" runat="server" EnableViewState="true" 
                            OnItemCommand="ItemCommand" OnSelectedIndexChanging="lvw_OnSelectedIndexChanging" OnDataBound="lvw_OnDataBound">
    <LayoutTemplate>
        <ul style="margin-left: 0px; padding-left: 25px; list-style-type:none; color:Black;">
            <li id="itemPlaceholder" runat="server" style="margin-left: 0px;"/>
        </ul>
    </LayoutTemplate>
    <ItemTemplate>
        <li style="margin-bottom: 10px; margin-left: 0px;">    
            <asp:LinkButton ID="LinkButton1" runat="server" CssClass="NoUnderline"
                                        ForeColor="Black" OnCommand="QueueLinkButton_Click" OnDataBinding="QueueLinkButton_DataBind"
                                        CommandName='<%# Eval("SubQueueId")%>'
                                        CommandArgument='<%# Eval("QueueName")%>'><%# Eval("QueueName")%>
            </asp:LinkButton>
            <asp:ListView runat="server" ID="lvw2"
                                        DataSource='<%# Eval("ChildQueueNodes")%>'>
                <LayoutTemplate>
                    <ul style="margin-top: 10px; margin-left: 0px; 
                                                padding-left: 25px; list-style-type:none; color:Black;">
                        <li id="itemPlaceholder" runat="server" style="margin-left: 0px;"/>
                    </ul>
                </LayoutTemplate>
                <ItemTemplate>
                    <li style="margin-bottom: 10px; margin-left: 0px;">
                        <asp:LinkButton ID="LinkButton2" runat="server" CssClass="NoUnderline"
                                                    ForeColor="Black" OnCommand="QueueLinkButton_Click" OnDataBinding="QueueLinkButton_DataBind"
                                                    CommandName='<%# Eval("SubQueueId")%>'
                                                    CommandArgument='<%# Eval("QueueName")%>'><%# Eval("QueueName")%>
                        </asp:LinkButton>
                    </li>
                </ItemTemplate>                                            
            </asp:ListView>
        </li>
    </ItemTemplate>
</asp:ListView>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文