مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

hasan.scofield

عضویت از 1394/04/07

مشکل در کد ایجاد ساب منو با روش link

  • یکشنبه 7 تیر 1394
  • 11:54
تشکر میکنم

با سلام

ممنون میشم از اساتید راهنماییم کنن

میخوام یه ساب منو ایجاد کنم با استفاده از روش link اما هر کاری میکنم ساب منو هام برای همه منو ها تکرار میشه در صورتی که نباید اینجوری باشه ممنون میشم راهنمایی کنید

اینم کدهایی که استفاده کردم + اسکرین شات

 e.Result = (from mov in con.menu select new { mov.urlmenu, mov.namemenu, mov.idmenu, }).ToList();


e.Result = (from u in con.submenu where u.idmenu == u.menu.idmenu select u).ToList();

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • یکشنبه 7 تیر 1394
  • 14:43
بخش .aspx :
                                <ul class="nav">
                                    <asp:LinqDataSource ID="dsProductGroup" runat="server" OnSelecting="dsProductGroup_OnSelecting"></asp:LinqDataSource>
                                    <asp:Repeater ID="rptProductGroup" runat="server" DataSourceID="dsProductGroup">
                                        <ItemTemplate>
                                            <li>
                                                <a  href='<%# string.Format("/ProductGroup{0}/{1}.html",Eval("ProductGroupID"),Eval("ProductGroupTitle")) %>' >
                                                    <%# string.Format("{0}",Eval("ProductGroupTitle")) %>
                                                </a>
                                                <ul>
                                                    <asp:Repeater ID="rptProductGroup" runat="server" DataSource='<%#Eval("dsProductGroupSub") %>'>
                                                        <ItemTemplate>
                                                            <li>
                                                                <a href='<%# string.Format("/ProductSubGroup{0}/{1}-{2}.html",Eval("ProductGroupSubID"),Eval("ProductGroupTitle"),Eval("ProductGroupSubTitle")) %>' ><%# string.Format("{0}",Eval("ProductGroupSubTitle")) %></a>
                                                            </li>
                                                        </ItemTemplate>
                                                    </asp:Repeater>
                                                </ul>
                                            </li>
                                        </ItemTemplate>
                                    </asp:Repeater>
                                </ul>

قسمت کد :

protected void dsProductGroup_OnSelecting(object sender, LinqDataSourceSelectEventArgs e)
        {
            e.Result = (from pg in db.ProductGroups
                        where pg.ProductGroupSubs.Count != 0
                        orderby pg.ProductGroupTitle
                        select new
                        {
                            pg.ProductGroupID,
                            pg.ProductGroupTitle,
                            ProductCount = db.Products.Count(c => c.ProductGroupSubs.ProductGroupID == pg.ProductGroupID),
                            dsProductGroupSub = db.ProductGroupSubs.Where(c => c.ProductGroupID == pg.ProductGroupID)
                            .Select(c => new
                            {
                                c.ProductGroupSubID,
                                c.ProductGroupSubTitle,
                                c.ProductGroups.ProductGroupTitle,
                                Count = db.Products.Count(d => d.ProductGroupSubID == c.ProductGroupSubID)
                            })
                        });
        }

این روشی است که میتونید برای مثال گروه و زیر گروه هر قسمت را بصورت داینامیک نمایش دهید. توجه داشته باشید که دیتاسورس گروه اصلی از یک LinqDatasource و دیتا سورس Repeater زیر گروه داخل کوئری اصلی و با نام dsProductGroupSub پر می شود.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)