【问题标题】:Display Nested ListViews (Menus to Submenus) with AccessDataSource使用 AccessDataSource 显示嵌套的 ListViews(菜单到子菜单)
【发布时间】:2014-05-20 12:56:51
【问题描述】:

好日子,

通过使用 ASP.NET 和 AccessDataSource,我需要在父列表视图中显示一个列表视图,以便能够拥有菜单及其子菜单。我的代码的当前状态是:

<asp:AccessDataSource ID="adsMenus" runat="server" DataFile="~/App_Data/menus.accdb" SelectCommand="SELECT MenuID, Menu FROM Menus" />

<asp:ListView ID="lvwMenus" runat="server" DataSourceID="adsMenus" DataKeyNames="MenuID">
    <ItemTemplate>
        <h2><%#Eval("Menu")%></h2>

        <asp:AccessDataSource ID="adsSubmenus" runat="server" DataFile="~/App_Data/menus.accdb" SelectCommand="SELECT Submenu FROM Submenus WHERE MenuID = <%#Eval('MenuID')%>" />

        <asp:ListView ID="lvwSubmenus" runat="server" DataSourceID="adsSubmenus">
            <ItemTemplate>
                <h3><%#Eval("Submenu")%></h3>
            </ItemTemplate>
        </asp:ListView> 

    </ItemTemplate>
</asp:ListView>

当我调试和运行页面时,它给出了一个语法错误。我正处于使用 C# 学习 ASP.NET 的阶段,我相信这应该是一个简单的解决方案,但不知何故,在阅读了几篇博客和帖子后,我找不到一个简单的解决方案。

感谢您的帮助和时间!

【问题讨论】:

    标签: asp.net listview datasource


    【解决方案1】:

    具有由文字和评估字段形成的值的属性通常应完全在 &lt;%# %&gt; 中构造:

    SelectCommand='<%# string.Format("SELECT Submenu FROM Submenus WHERE MenuID = {0}", Eval("MenuID")) %>'
    

    【讨论】:

    • 这次它给出了“服务器标签格式不正确”的错误。
    • @User3656597,对不起,我的错,应该是%&gt;,而不是#&gt;
    • 工作就像一个魅力。谢谢安德烈。
    猜你喜欢
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2017-11-21
    相关资源
    最近更新 更多