Asp.net ajax手风琴菜单类别



我得到了2个sql表,类别和帖子。我为每个类别选择前5个记录。但是当我在手风琴菜单上使用它时,它会显示每个帖子的类别名称(重复)。

下面是我的代码:
       <asp:Accordion ID="accMenu" runat="server"  DataSourceID="ods_menu" RequireOpenedPane="false">
     <HeaderTemplate>
                     <h3><a href="#"><%# Eval("kategori_adi") %></a></h3>
                     </HeaderTemplate>   
                    <ContentTemplate>
                       <div>
                           <ul>
                                <li><asp:HyperLink ID="HyperLink1" runat="server"  Text='<%# Eval("post_etiket") %>'>'></asp:HyperLink></li>
                           </ul>
                            </div>
                    </ContentTemplate>
                  </asp:Accordion>
                  <asp:ObjectDataSource ID="ods_menu" runat="server" SelectMethod="MenuGetir" TypeName="yonet"></asp:ObjectDataSource>

我的SQL命令是这样的(我想为每个类别选择前5个帖子):

select top 25 p.post_id,p.post_etiket,k.kategori_id,k.kategori_adi
 from post p, kategori k 
where k.kategori_id= p.post_kategori_id order by post_date

我该如何解决这个问题?

也许可以帮助别人

                  <HeaderTemplate>
                 <h3><a href="#"><%# Eval("kategori_adi") %></a></h3>
                 </HeaderTemplate>   
                <ContentTemplate>

                   <div>
                            <ul >
                            <asp:Repeater ID="rp_altmenu" runat="server" DataSourceID="ods_alt_menu">
                            <ItemTemplate>
                                <li><asp:HyperLink ID="HyperLink1" runat="server"  Text='<%# Eval("post_etiket") %>'></asp:HyperLink></li>
                           </ItemTemplate>
                           </asp:Repeater>
                            </ul>
                        </div>
                </ContentTemplate>
              </asp:Accordion>
            <asp:ObjectDataSource ID="ods_kategori" runat="server" SelectMethod="KategoriGetir" TypeName="yonet">
            </asp:ObjectDataSource>
            <asp:ObjectDataSource ID="ods_alt_menu" runat="server"   SelectMethod="AltMenuGetir" TypeName="yonet"></asp:ObjectDataSource>
                    </div>

AltMenuGetir的SQL sp代码

@kategori_id int
AS
select top 5 post_id,post_etiket
from post
where post_kategori_id= @kategori_id
order by post_tarihi

KategoriGetir SQL代码

select * from kategori
后台代码:

   protected void accMenu_ItemDataBound(object sender,        AjaxControlToolkit.AccordionItemEventArgs e)
  {
     yonet.kategori_idy=Convert.ToInt32(DataBinder.Eval(e.AccordionItem.DataItem,        "kategori_id").ToString());
   }

最新更新