نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل در لود کردن یک لیست بازگشتی بر اساس parentID در MVC

  1. #1

    مشکل در لود کردن یک لیست بازگشتی بر اساس parentID در MVC

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

    _code.jpg
    _result.jpg
    ممنون میشم اگه کسی به من کمک کنه

  2. #2

    نقل قول: مشکل در لود کردن یک لیست بازگشتی بر اساس parentID در MVC

    همیشه هنگام پرسیدن اینگونه سوال ها بهتره مدل مورد نظرمون رو هم بزاریم تا بشه از روی اون بهتر تصمیم گرفت.

    در هر صورت شما دقیقا به همچین چیزی نیاز دارید.

    من این کد رو نوشتم و دارم استفاده می کنم دقیقا درست عمل می کنه.


    @helper GetComments(IList<Comment> commentLsist, long id)
    {
    var comments = (from c in commentLsist
    where c.ParentId == id
    orderby c.CreateDate descending
    select c).ToList();
    if (comments != null && comments.Count() > 0)
    {
    //اگر پدر بود این شرط بررسی میشه
    if (id == 0)
    {
    foreach (var item in comments)
    {
    //سپس اینجا تگهای مورد نظر پدر رو می نویسید
    //در انتها جهت نوشتن فرزندادن تابع رو دوباره فراخونی می کنیم
    @GetComments(commentLsist, item.CommentId)
    }
    }
    //اگر فرزند بود این بخش اجرا خواهد شد
    else
    {
    foreach (var item in comments)
    {
    //و سپس تگهای موجود برای ایجاد فرزند رو داخل حلقه می نویسیم
    }
    }
    }
    }
    @GetComments(Model.NewsViewModel.Comment, 0)

  3. #3

    نقل قول: مشکل در لود کردن یک لیست بازگشتی بر اساس parentID در MVC

    شما باید با یک شرط بررسی کنید که آیا Category جاری یک root است یا دارای parent است. الان حلقه ی شما بین همه ی عناصر جستجو میکنه ولی باید بین عناصر سرشاخه جستجو کنه.

    دومین foreach رو اصلاح کنید

  4. #4

    نقل قول: مشکل در لود کردن یک لیست بازگشتی بر اساس parentID در MVC

    ممنون از راهنمایی شما .
    لیست من بیشتر از دو سطح داره پس کد شما رو تغییر دادم

    این کد نهایی شد :
    کد HTML:
     @helper GetChildren(IList<AA.Models.Category> CategoryLsist, int id)
    {
        var Ctg = (from c in CategoryLsist
                        where c.CategoryParentID == id
                        select c).ToList();
        if (Ctg != null && Ctg.Count() > 0)
        {
          
            if (id == 0)
            {
                foreach (var data in Ctg)
                {
                   
                   <li> 
                       @data.CategoryName  
                      <ul> @GetChildren(CategoryLsist, data.CategoryID)</ul>
    
                   </li>
                }
            }
          
            else
            {
                foreach (var data in Ctg)
                {
                    
                <li> 
                       @data.CategoryName 
                     <ul> @GetChildren(CategoryLsist, data.CategoryID)</ul>
                </li> }
            }
        }
    }

تاپیک های مشابه

  1. مشکل در لود کردن سورس یک صفحه ی اینترنتی
    نوشته شده توسط MahmoodGH در بخش کامپوننت ها و ابزارهای کاربردی در VB6
    پاسخ: 0
    آخرین پست: جمعه 11 دی 1388, 19:14 عصر
  2. سوال: مشکل در لود کردن فایل xml آب و هوا یاهو
    نوشته شده توسط DotNet_King در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: پنج شنبه 02 خرداد 1387, 17:05 عصر
  3. مشکل با لود کردن عکس در vs.net
    نوشته شده توسط once4ever در بخش گزارش سازی با Crystal Report
    پاسخ: 0
    آخرین پست: سه شنبه 02 مرداد 1386, 15:23 عصر
  4. مشکل سرعت لود کردن حجم بالای اطلاعات
    نوشته شده توسط neda azadi در بخش SQL Server
    پاسخ: 16
    آخرین پست: پنج شنبه 24 اسفند 1385, 23:30 عصر
  5. مشکل در لود کردن ریسورس فایل
    نوشته شده توسط SSP_Software_team در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 13 فروردین 1383, 16:03 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •