트리 구조화 된 제품 카테고리보기를 만들고 싶습니다. 나는 2011 년부터 this article by Ole Michelsen을 찾았습니다. 나는 유망 해 보입니다. 이 기사에서는 Razor를 사용하여 재귀 적으로 트리 구조를 렌더링하는 것과 거의 비슷한 방법을 설명합니다.Asp.Net Core 2.0에서 재귀
내 데이터베이스 테이블이 문서에서 설명 된 것과 거의 동일 :
[ProductCategory]
Id
ParentId
Title
내가보기 모델이 어떻게 보일지 모르겠어요. ProductCategory가 IEnumerable
이거나 ProductCategory의 인스턴스 여야하고 IEnumerable
의 ProductCategories가 있어야합니까?
이런 식으로 뭔가 ...
public class ViewModelProductCategory
{
public int Id { get; set; }
public int? ParentId { get; set; }
public string Title { get; set; }
public int SortOrder { get; set; }
public int NumOfProducts { get; set; }
}
... 이상과 같이? SORTORDER 및 NumOfProducts
public class ViewModelProductCategory
{
public IEnumerable<ProductCategory> ProductCategory { get; set; }
//public int NumOfProducts { get; set; }//<--Not too sure about this property
public IEnumerable<Product> Products { get; set; }
}
두 번째는 하나 "올바른"에 가까운 경우
(현재 범주에 얼마나 많은 제품입니다) 어떻게 할 수 있습니까?그리고 내가 가장 혼란스럽게 생각하는 것은 면도기 렌더링이 어떻게 이루어 지는지입니다. 뷰 모델을 재귀 부분 뷰로 보내려면 어떻게해야하며 부분 뷰는 렌더링 할 항목을 어떻게 알 수 있습니까?
면도기 코드가 있지만 게시를 통해 달성하려는 내용이 더 명확 해지지 않을 수도 있습니다.
이 의사 코드는 아마도 더 설명된다
_recursivePartial.cshtml
@model [my unknown viewmodel goes here, is it IEnumerable or not?]
<ul>
foreach item in model
{
<li>@Html.Partial("_recursivePartial.cshtml", [what goes here?])
// 1: How does _recursivePartial.cshtml know where in the tree it is?
// 2: How does this structure relate to the data structure in the DB?
}
</ul>
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-components - 나는 같은 임무를 밟고 있습니다. –