階層構造を持つ製品カテゴリのテーブルがあります。各 Category_ID には、Parent_id によって決定される多数の子がある場合があります。たとえば、Air Fresheners (26) には、Parent_id が 25 であるため、子 26、27、および 28 があります。
ドロップダウンでカテゴリをドリルスルーするページを設定したいと思います。ユーザーは、Air Fresheners などのレベル 2 カテゴリを選択すると、前の選択の子を含むドロップダウンが表示されます。
これを行う最善の方法は何ですか?jQuery と JSON を検討していますが、もっと良い方法があるかもしれません。
次の GetCategoryChildren メソッドがあります。
public string ThisName { get; set; }
public int ThisHLevel { get; set; }
public IEnumerable<SelectListItem> Children { get; set; }
public GetCategoryChildren(int category_ID)
{
var rep = new Product_CategoryRepository();
Children = rep.All.Where(x => x.Parent_id == category_ID).ToList()
.Select(x => new SelectListItem
{
Text = x.Name,
Value = x.Category_ID.ToString()
});
ThisName = rep.All.Where(x => x.Category_ID == category_ID)
.FirstOrDefault().Name;
ThisHLevel = rep.All.Where(x => x.Category_ID == category_ID)
.FirstOrDefault().HLevel;
}
あなたの頭脳を貸してください。