读书人

想用repeater嵌套repeater做个二级菜单

发布时间: 2013-09-28 10:01:20 作者: rapoo

想用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") %>'

读书人网 >asp.net

热点推荐