想用repeater嵌套repeater做个2级菜单
我瞎写的代码
我瞎写的代码
<div class="menu">
<ul>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSourceQuyu">
<ItemTemplate>
<li><a class="hide" href="###"><%# Eval("region")%></a>
<ul>
<asp:Repeater ID="Repeater2" runat="server" DataSourceID="SqlDataSourceQuyu2">
<ItemTemplate>
<li><a href="###"><%# Eval("province")%></a></li>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSourceQuyu2" runat="server"
ConnectionString="<%$ ConnectionStrings:zidaiHaiyang %>"
SelectCommand='SELECT [RegionId], [ProductName], [province] FROM [RegionProduct] where [RegionId] =<%# Eval("id")%>' ></asp:SqlDataSource>
//我想根据上一级的id查到此
</ul>
</li>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSourceQuyu" runat="server"
ConnectionString="<%$ ConnectionStrings:zidaiHaiyang %>"
SelectCommand="SELECT * FROM [Region]"></asp:SqlDataSource>
</ul>
</div>
看了一些网上的代码,搞不懂,好像还要写后台???
<asp:SqlDataSource ID="SqlDataSourceQuyu" runat="server"
ConnectionString="<%$ ConnectionStrings:zidaiHaiyang %>"
SelectCommand="SELECT * FROM [Region]"></asp:SqlDataSource>
这些还是写到后台去吧,易于维护修改,也让前台代码看起来整洁一些
[解决办法]
换个写法吧,<%# Eval("id")%>直接写成上一级查询ID的SQL语句试试,报错是因为页面的<asp:SqlDataSource>中不允许出现<%# Eval("id")%>
[解决办法]
换个写法吧,<%# Eval("id")%>直接写成上一级查询ID的SQL语句试试,报错是因为页面的<asp:SqlDataSource>中不允许出现<%# Eval("id")%>
问题就是我不知到怎么换个写法。。。<%# Eval("id")%>这个换成啥?解决就结贴
直接写成上一级查询ID的SQL语句,where [RegionId] in (查询上一级ID)
[解决办法]
SelectCommand='<%# "SELECT [RegionId], [ProductName], [province] FROM [RegionProduct] where [RegionId] =" + Eval("id") %>'