PDA

View Full Version : سوال: نحوه ایجاد زیرمنو با Repeater در Asp



moonfa1392
جمعه 15 آبان 1394, 05:29 صبح
سلام
من یه سایت کامل نوشتم که همه چیز رو از دیتابیس میخونه و حالا میخوام برای منو ها زیرمنو بذارم
Table مربوط به منو توی دیتابیس 7 تا سطر داره :
Mnu_Title = نام منو
Mnu_Link = آدرس منو
Mnu_PosID = کد محل قرارگیری منو
Mnu_PID = کد پدر (جهت دسترسی در پنل مدیر یا منشی)
Mnu_Order = ترتیب منو
حالا من توی فایل Main.aspx داخل div مربوط به منو کد زیر رو نوشتم :
<ul>
<asp:repeater ID="Repeater1" runat ="server" >
<ItemTemplate>
<li>
<"a href='<%# Eval ("Mnu_Link) %) '>
<%# Eval ("Mnu_Title )
<a\>
<li\>
<ItemTemplate\>
<asp:repeater \>
<ul\>
حالا داخل فایل Main.aspx.cs یک public void تعریف کردم و داخلش دستور select رو نوشتم و به دیتابیس اتصال دادم. دستور select رو هم به صورت زیر نوشتم :
select * from tbl_menu where mnu_posid=1 order by mnu_order asc
و تا اینجای کار درسته و هیچ مشکلی نداره اما مشکل اصلیم اینجاس که نمیتونم به منو ها زیرمنو بدم. برای زیر منو قاعدتا باید یک ul داخل Li باز کنم و دوباره داخلش با Li زیرمنو هارو بذارم اما نمیدونم چه دستوری باید بنویسم.
من کد زیر رو تست کردم اما وقتی خروجی گرفتم متوجه شدم زیر منو به همه منو ها اضافه شده:
<ul>
<asp:repeater ID="Repeater1" runat ="server" >
<ItemTemplate>
<li>
<"a href='<%# Eval ("Mnu_Link) %) '>
<%# Eval ("Mnu_Title )
<a\>
<ul>
<asp:repeater ID="Repeater2" runat ="server" >
<ItemTemplate>
<li>
<"a href='<%# Eval ("Mnu_Link) %) '>
<%# Eval ("Mnu_Title )
<a\>
<li\>
<ItemTemplate\>
<asp:repeater \>
<ul\>
<li\>
<ItemTemplate\>
<asp:repeater \>
<ul\>

لطفا راهنمایی کنیدبگید چچجوری زیر منو بذارم و چه کدی بنویسم واقعا گیج شدم.
شرمنده اگه کد هارو نا مرتب گذاشتم و بد نوشتم چون با گوشی تاپیک زدم بهتر از این نشد بنویسم. همین هم به سختی نوشتم
ممنون

moonfa1392
شنبه 16 آبان 1394, 04:35 صبح
واقعا هیچکس نیست راهنمایی کنه؟
وقتی نتونم مشکلمو تو جامعه برنامه نویس حل کنم ینی هیچ جا نمیتونم دیگه

binafar_Javad
چهارشنبه 20 آبان 1394, 06:25 صبح
واقعا هیچکس نیست راهنمایی کنه؟
وقتی نتونم مشکلمو تو جامعه برنامه نویس حل کنم ینی هیچ جا نمیتونم دیگه

سلام دوست عزیز

پیشنهاد می کنم سوالاتون رو تو بخش "برنامه نویسی مبتنی بر Microsoft .Net Framework" زیر گروه "asp.net" مطرح کنید .