好日子,
通过使用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的阶段,我相信这应该是一个简单的解决方案,但在阅读了几篇博客和帖子之后,我无法找到一个简单的解决方案。
感谢您的帮助和时间!
答案 0 :(得分:0)
具有由文字和评估字段组成的值的属性通常应完全由<%# %>
构建:
SelectCommand='<%# string.Format("SELECT Submenu FROM Submenus WHERE MenuID = {0}", Eval("MenuID")) %>'