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

Как я могу решить эту проблему?

1 ответ

Решение

Может быть, помочь кому-то

                  <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>

SQL sp коды AltMenuGetir

@kategori_id int

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

SQL-коды KategoriGetir

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());

   }
Другие вопросы по тегам