Abhilash J A

Abhilash J A

  • 536
  • 2.4k
  • 597k

IList does not contain a definition for where, treeview MVC

Jan 6 2017 12:25 AM
Hello everyone,
 
In MVC 4, How can I generating a treeview with recursive partial view ?
 
This is the sql database treeview structure.
 
 
 I have tried,
 
  1. namespace Reboxwebapp.Models.ViewModel  
  2. {  
  3.     public class ProductCategoryVM  
  4.     {  
  5.         public int idProductCategory { getset; }  
  6.         public string ProductCategoryName { getset; }  
  7.         public string ProductCategoryDescription { getset; }  
  8.         public Nullable<int> idParentCategoryProduct { getset; }  
  9.         public string AlternateNamesToSearch { getset; }  
  10.         public Nullable<int> LevelID { getset; }  
  11.         public string CompletePathName { getset; }  
  12.         public byte[] PCImage { getset; }  
  13.   
  14.     }  
  15.   
  16.     public class SeededProductCategies  
  17.     {  
  18.         public int? Seed { getset; }  
  19.         public IList<ProductCategoryVM> Categories { getset; }  
  20.     }  
  21. }  
  1. [HttpGet]  
  2.        public ActionResult GetSearchProduct()  
  3.        {  
  4.            ProductsBIL objProduct = new ProductsBIL();  
  5.            IList<ProductCategoryBL> lsRes = new List<ProductCategoryBL>();  
  6.            lsRes = objProduct.GetProductCategoryTree();  
  7.            IList<ProductCategoryVM> categories = new List<ProductCategoryVM>();  
  8.           // ProductCategoryVM objProductCategoryVM = new ProductCategoryVM();  
  9.            // categories = lsRes;  
  10.            foreach (var item in lsRes)  
  11.            {  
  12.                categories.Add(new ProductCategoryVM {idProductCategory =item.idProductCategory,idParentCategoryProduct = item.idParentCategoryProduct,ProductCategoryDescription = item.ProductCategoryDescription });  
  13.            }  
  14.            SeededProductCategies objSeededProductCategies = new SeededProductCategies { Seed = null, Categories = categories };  
  15.            return View(objSeededProductCategies);  
  16.        }  
  GetSearchProduct actionresult go to view is shown below, 
  1. @model Reboxwebapp.Models.ViewModel.SeededProductCategies  
  2.   
  3.   
  4. @Html.Partial("_TreeCategories", Model)  
 then partial view, 
  1. @model Reboxwebapp.Models.ViewModel.SeededProductCategies  
  2.   
  3. @if (Model.Categories.Where(s => s.idParentCategoryProduct == Model.Seed).Any()) /*But here is occurring error : ilist does not contain a definition for where cause*/  
  4. {  
  5.     <ul>  
  6.         @foreach (var node in Model.Categories)  
  7.         {  
  8.             if (node.idParentCategoryProduct == Model.Seed)  
  9.             {  
  10.                 Reboxwebapp.Models.ViewModel.SeededProductCategies inner = new Reboxwebapp.Models.ViewModel.SeededProductCategies { Seed = node.idProductCategory, Categories = Model.Categories };  
  11.                 <li>  
  12.                     <a href="[email protected]">@node.ProductCategoryDescription</a>  
  13.                     @Html.Partial("_TreeCategories", inner)  
  14.                 </li>  
  15.             }  
  16.         }  
  17.     </ul>  
  18. }  
 How can I do this? Please help me.
 

Answers (3)